プロジェクトメール、企業の電子メールや個人的なメールのサポート、メールプロジェクト統合のみ春ブートプログラム
パッケージ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 </バージョン> </依存関係>