メール送信 - 2019年11月16日Javaプロジェクトの戦闘

プロジェクトメール、企業の電子メールや個人的なメールのサポート、メールプロジェクト統合のみ春ブートプログラム

パッケージcom.sf.vsolution.hb.sfce.util.mail。

輸入com.alibaba.fastjson.JSON;
輸入lombok.extern.slf4j.Slf4j;
輸入org.springframework.beans.factory.annotation.Autowired;
輸入org.springframework.beans.factory.annotation.Value;
輸入org.springframework.core.io.FileSystemResource。
輸入org.springframework.mail.SimpleMailMessage;
輸入org.springframework.mail.javamail.JavaMailSender。
輸入org.springframework.mail.javamail.MimeMessageHelper;
輸入org.springframework.stereotype.Component;

輸入javax.mail.MessagingException。
輸入javax.mail.internet.MimeMessageの;
インポートのjava.io.File;

/ **
 * @description:送信する電子メールツール
 * @author :zhucj
 * @date:2019年11月6日夜01時29
 * /
@成分
@ SLF4J
パブリック クラスMailSendUtil {

    @value( "$ {spring.mail.username}" 
    文字列のuserName;

    @Autowired
    プライベートJavaMailSender MailSenderの。


    / **
     *通常のテキストメッセージを送信
     *受信者に
     *件名のテーマ
     *コンテンツ内容
     * / 
    パブリックブールsendSimpleMail(SendMailDto sendMailDto){
        log.info( "Eメールメッセージ:{}" 、JSON.toJSONString(sendMailDto))。
        SimpleMailMessageメッセージ = 新しいSimpleMailMessage()。
        // 收信人
        message.setTo(sendMailDto.getTo());
        // 主题
        message.setSubject(sendMailDto.getSubject());
        // 内容
        をmessage.setText(sendMailDto.getContent());
        // 发信人
        message.setFrom(ユーザー名);
        mailSender.send(メッセージ)。
        返す ;
    }

    / **
     *送信HTMLメール
     * @param sendMailDto
     *受信者に
     *件名のテーマ
     *コンテンツ内容
     * / 
    パブリックブールsendHtmlMail(SendMailDto sendMailDto){
         // 使用で、MimeMessage、MIME协议 
        で、MimeMessageメッセージ= mailSender.createMimeMessage()。
        MimeMessageHelperヘルパー;
        // MimeMessageHelperヘルプ、私たちはより多くのコンテンツを設定する
        試みを{
            ヘルパー = 新しい MimeMessageHelper(メッセージ、真の);
            helper.setFrom(ユーザ名)。
            helper.setTo(sendMailDto.getTo())。
            helper.setSubject(sendMailDto.getSubject())。
            // 真の代表者にHTMLサポート 
            helper.setText(sendMailDto.getContentは()、trueに)。
            mailSender.send(メッセージ)。
            返す ;
        } キャッチ(てMessagingException電子){
            log.error( "HTMLメールの送信に失敗しました:" 、E);
             戻り値 はfalseに
        }
    }

    / **
     添付ファイル付き* Eメール送信
     * @param sendMailDto
     *受信者に
     *件名のテーマ
     *コンテンツ内容
     * @param filePathに附件路径
      * / 
    パブリックブールsendAttachmentMail(SendMailDto sendMailDto、文字列filePathに){
        log.info( "Eメールメッセージ:{}、添付パス:{}" 、JSON.toJSONString(sendMailDto)ファイルパス)。
        で、MimeMessageメッセージ = mailSender.createMimeMessage()。
        してみてください{
            MimeMessageHelperヘルパー = 新しい MimeMessageHelper(メッセージ、真の);
            helper.setFrom(ユーザ名)。
            helper.setTo(sendMailDto.getTo())。
            helper.setSubject(sendMailDto.getSubject())。
            helper.setText(sendMailDto.getContent()、真の);
            FileSystemResourceファイル = 新しい FileSystemResource(新しいファイル(filePathに));
            文字列fileNameに = filePath.substring(filePath.lastIndexOf(File.separator))。
            helper.addAttachment(fileName.substring( 1、fileName.length() - 1 )、ファイル)。
            mailSender.send(メッセージ)。
            返す ;
        } キャッチ(てMessagingException電子){
            log.error( "電子メールの添付ファイルが失敗送ら:" 、E);
             戻り値 はfalseに
        }
    }


    / **
     *ピクチャーメール
     * @param sendMailDto
     *電子メールの受信者に
     *件名メッセージの件名
     * Contnet HTMLコンテンツ
     * @Param rscPathイメージパス
     * @Param rscIdイメージID
     * @throws てMessagingException
      * / 
    パブリックブールsendInlinkResourceMail(SendMailDto sendMailDto、
                                       ストリングrscPath、ストリングrscId){
        log.info( "Eメールメッセージ:{}、画像送信パス:{}イメージID:{}" 、JSON.toJSONString(sendMailDto)、rscPath、rscId)。

        で、MimeMessageメッセージ = mailSender.createMimeMessage()。
        MimeMessageHelperヘルパー = nullをしてみてください{
            ヘルパー = 新しい MimeMessageHelper(メッセージ、真の);
            helper.setTo(sendMailDto.getTo())。
            helper.setSubject(sendMailDto.getSubject())。
            helper.setText(sendMailDto.getContent()、真の);
            helper.setFrom(ユーザ名)。

            FileSystemResource RES = 新しい FileSystemResource(新しいファイル(rscPath));
            helper.addInline(rscId、RES)。
            mailSender.send(メッセージ)。
            返す ;

        } キャッチ(てMessagingException電子){
            log.error( "静的メッセージ送信に失敗しました:" 、E);
             戻り値 はfalseに
        }

    }

}
パッケージcom.sf.vsolution.hb.sfce.util.mail。

輸入ロンボク*。;

/ **
 * @description:送信電子メールのパラメータ
 * @author :zhucj
 * @date:2019年11月6日夜02時03分
 * /
@データ
@ビルダー
@NoArgsConstructor
@AllArgsConstructor
@ToString
パブリック クラスSendMailDto {

    / **
     *受信者
     * / 
    プライベート文字列へ。

    / **
     *件名
     * / 
    プライベート文字列の対象。

    / **
     *コンテンツ
     * / 
    プライベート文字列の内容。
}
春:    
    郵便物:
      #送信者のメールボックス
      ユーザ名: ****
      #送信者のパスワードや認証コード(企業の電子メールのパスワードを設定、認証コードのためのQQのメールボックス)
      パスワード: ****
      #送信メールサーバー(クライアントの設定を表示)
      ホスト: ****
       デフォルト -encoding:UTF-8
      #送信サーバーのポート(クライアントの設定ビュー)
      ポート: ****
      プロトコル:SMTP
      #受信者のメールボックス
      toMailName:
        #Eメール
        1: ******
 <! - メール送信 - >
        <依存>
            <groupIdを>のjavax.mail </ groupIdを>
            <たartifactId>メール</たartifactId>
            <バージョン> 1.4.7 </バージョン>
        </依存関係>

 

 

おすすめ

転載: www.cnblogs.com/zhucj-java/p/11868673.html