方法JavaMailのメール送信

輸入java.util.Date;

輸入java.util.Properties;



輸入はjavax.activation.DataHandler;

輸入javax.activation.FileDataSource。

輸入javax.mail.Address。

輸入javax.mail.Authenticator。

輸入javax.mail.BodyPart。

輸入javax.mail.Messageの。

輸入javax.mail.Multipart。

インポートのjavax.mail.Session。

輸入javax.mail.Transport。

輸入javax.mail.internet.InternetAddress。

輸入javax.mail.internet.MimeBodyPart。

輸入javax.mail.internet.MimeMessageの。

輸入javax.mail.internet.MimeMultipart。

輸入javax.mail.internet.MimeUtility。



/ **

 * JavaMailのメールツールを送信

 * 

 * @author

 * @version 1.0

 * /

パブリッククラスMailUtil {

    / **

     *付属品アドレス

     * /

    プライベート文字列のファイルパス。



    / **

     *テイクアクセサリー

     * 

     * @returnファイルパス

     * /

    パブリック文字列getFilepath(){

        ファイルパスを返します。

    }



    / **

     *セットアクセサリー

     * 

     * @paramファイルパスファイルパス

     * /

    公共ボイドsetFilepath(文字列のファイルパス){

        this.filepath =ファイルパス。

    }



    / **

     *送信メールサーバーのアドレス

     * /

    プライベート文字列mailServerHost =「smtp.exmail.qq.com」。

    / **

     *送信メールサーバーのポート

     * /

    プライベート文字列mailServerPort = "25";

    / **

     *メールを送信する前に設定を確認する必要が

     * /

    プライベートブール検証=はtrue。

    / **

     *電子メールアカウントの設定を送信

     * /

    プライベート文字列のuserName =「[email protected]」。

    / **

     * Eメールパスワード

     * /

    プライベート文字列userPass =「Cd1555」。

    / **

     *を設定し、送信メールアドレス

     * /

    プライベート文字列FROMADDRESS =「[email protected]」。

    / **

     *電子メールのオブジェクトを送信

     * /

    = "[email protected]" toAddressプライベート文字列;

    / **

     *送信されたメッセージの件名を設定します。

     * /

    プライベート文字列の件名=「テストJavaは、メールを送信します」。

    / **

     *コンテンツ

     * /

    プライベート文字列の内容は=「ハローメッセージ内容<BR/>はテスト使用してJavaを送信する - <BR/>!」;

    / **

     *設定されたメッセージの送信フォーマットはHTMLを使用して符号化されます

     * /

    プライベートブールisHTML =はtrue。

    / **

     *安全な接続を使用してメールを送信するかどうかを設定します

     * /

    プライベートブールisSSL =偽;



    / **

     *メールを送信するホストを設定します

     * 

     * @param mailServerHost

     *送信メールサーバーのアドレス

     * /

    公共ボイドsetMailServerHost(文字列mailServerHost){

        this.mailServerHost = mailServerHost。

    }



    / **

     *送信メールサーバーのポートが<BR/>提供しました

     *注:「25」のデフォルト値

     * 

     * @param mailServerPort

     *送信メールサーバーのポート

     * /

    公共ボイドsetMailServerPort(文字列mailServerPort){

        this.mailServerPort = mailServerPort。

    }



    / **

     *メールの設定を送信する前に確認する必要があり<BR/>

     *注:デフォルト値は、検証のために真であります

     * 

     * @paramの検証

     検証されません*真または偽を確認するには

     * /

    公共ボイドsetValidate(ブール検証){

        this.validate =検証します。

    }



    / **

     <BR/>を提供* E-mailアドレス

     *注:「[email protected]」のデフォルト値

     * 

     * @param FROMADDRESS

     *送信電子メールアドレス

     * /

    公共ボイドsetFromAddress(文字列FROMADDRESS){

        this.fromAddress = FROMADDRESS。

    }



    / **

     *設定し、受信したメールアドレス<BR/>

     *注:「[email protected]」のデフォルト値

     * 

     * @paramのtoAddress

     *受信メールアドレス

     * /

    公共ボイドsetToAddress(文字列のtoAddress){

        this.toAddress = toAddress。

    }



    / **

     *設定し<BR/>に関連するメッセージを送信

     *注:デフォルト値の「テストjavaはメールの送信」

     * 

     * @param対象

     メールを送信する*件名

     * /

    公共ボイドsetSubject(文字列対象){

        this.subject =件名;

    }



    / **

     *メール内容<BR/>を送って設定します

     *注:「こんにちはのデフォルト値!

     *コンテンツ<BR/>のJavaをテストすることによってメッセージを送ります

     * <BR/>

     * - TKK <BR/>

     * "

     * 

     * @paramコンテンツ

     * Eメール

     * /

    公共ボイドのsetContent(文字列コンテンツ){

        this.content =コンテンツ;

    }



    / **

     *メッセージの送信フォーマットを使用して符号化された設定HTML <BR/>

     *注:デフォルトはtrueです

     * 

     * @Param isHTML

     *真は偽んです

     * /

    公共ボイドsetHTML(ブールisHTML){

        this.isHTML = isHTML。

    }



    / **

     安全な接続を使用するかどうかを設定する* Eメール<BR/>

     *注:いいえデフォルトはfalse

     * 

     * @Param isSSL

     *真は偽んです

     * /

    公共ボイドsetSSL(ブールisSSL){

        this.isSSL = isSSL。

    }



    / **

     *電子メールアカウントの設定を送信

     * 

     * @paramのuserNameに

     *電子メールアカウントを送ります

     * /

    公共ボイドsetUserName(文字列のuserName){

        this.userName = userNameに。

    }



    / **

     *セットの送信メールアカウントのパスワード

     * 

     * @param userPass

     *電子メールアカウントのパスワードを送信します

     * /

    公共のボイドsetUserPass(文字列userPass){

        this.userPass = userPass。

    }



    / **

     *メールを送信

     * 

     * @paramのtoAddress

     *受信者のE-mailアドレス

     * @param対象

     *メッセージの件名

     * @paramコンテンツ

     *コンテンツ

     * @paramファイルパス

     *付属品アドレス

     * @Return真:正常に送信され、偽:送信に失敗しました

     * /

    パブリックブールのsendmail(文字列のtoAddress、文字列の件名、文字列の内容、

            文字列のファイルパス){

        this.toAddress = toAddress。

        this.subject =件名;

        this.content =コンテンツ;

        this.filepath =ファイルパス。

        SENDMAILを返します();

    }



    / **

     *メールを送信

     * 

     * @Return真:正常に送信され、偽:送信に失敗しました

     * /

    パブリックブールSENDMAIL(){

        プロパティpを=新しいプロパティ();

        p.put( "mail.smtp.host"、mailServerHost)。

        p.put( "mail.smtp.port"、mailServerPort)。

        p.put( "mail.smtp.auth"、検証 "真":? "偽");

        IF(isSSL){

            p.put( "mail.smtp.starttls.enable" "真");

            p.put( "mail.smtp.socketFactory.fallback"、 "偽");

            p.put( "mail.smtp.socketFactory.port"、mailServerPort)。

        }

        オーセンティケータAUTH = NULL;

        IF(検証){

            AUTH =新しいMyAuthenticator(ユーザ名、userPass)。

        }

        {試します

            セッションセッション= Session.getDefaultInstance(P、AUTH)。

            メッセージmessage =新規で、MimeMessage(セッション)。

            住所=新たInternetAddress(FROMADDRESS)から。

            住所=新たInternetAddress(toAddress)へ。

            message.setFrom(から)。

            message.setRecipient(Message.RecipientType.TOに);

            message.setSubject(被写体)

            message.setSentDate(新しいDate());

            IF(isHTML){

                マルチパートM =新規のMimeMultipart()。

                BodyPart BP =新しいのMimeBodyPart();

                bp.setContent(コンテンツ、 "テキスト/ HTML;のcharset = UTF-8");

                //添付ファイルを追加

                FileDataSourceのDS =新しいFileDataSource(ファイルパス);

                bp.setDataHandler(新しいデータハンドラ(DS));

                bp.setFileName(MimeUtility.encodeText(ds.getName()))。

                m.addBodyPart(BP)。

                message.setContent(M)。

            }他

                message.setText(コンテンツ)。

            Transport.send(メッセージ)。

            trueを返します。

        }キャッチ(例外e){

            e.printStackTrace();

            falseを返します。

        }

    }



    / **

     *送信テスト

     * 

     * @param argsを

     *パラメータ

     * /

    パブリック静的無効メイン(文字列[] args){

        ブール値X =新しいMailUtil()SENDMAIL()。

        LoggerUtils.info(X)。

    }

}


おすすめ

転載: blog.51cto.com/14028890/2415817