日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

spring发邮件_跟踪异常–第4部分– Spring的邮件发件人

發布時間:2023/12/3 javascript 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring发邮件_跟踪异常–第4部分– Spring的邮件发件人 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

spring發郵件

如果您閱讀過本系列以前的任何博客,您可能會記得我正在開發一個小型但幾乎具有工業實力的應用程序,該應用程序在日志文件中搜索異常。 您可能還記得,我現在有一個可以包含大量結果的類,這些結果需要發送給感興趣的任何人。 這將通過實現下面顯示的簡單Publisher界面來完成。

public interface Publisher { public <T> boolean publish(T report); }

如果您還記得,那么要求是:

7 . Publish the report using email or some other technique.

在此博客中,我要處理需求的具體部分:通過電子郵件發送報告。 由于這是Spring應用程序,因此發送電子郵件的最簡單方法是使用Spring的電子郵件類。 與Spring API的堅定支持不同,Spring電子郵件類基于JdbcTemplate和JmsTemplate之類的模板類,它基于幾個接口及其實現。 這些接口是:

  • 郵件發件人
  • JavaMailSender擴展MailSender
  • 郵件留言
  • ……實現是:

  • JavaMailSenderImpl實現JavaMailSender
  • SimpleMailMessage實現MailMessage
  • 請注意,這些是“基本”類; 您可以使用諸如MimeMailMessage,MimeMailMessageHelper,ConfigurableMimeFileTypeMap和MimeMessagePreparator之類的類發送美觀,更復雜的電子郵件內容。

    在編寫一些代碼之前,幾乎沒有什么項目配置問題。 要使用Spring電子郵件類,您需要在Maven POM文件中輸入以下內容:

    <dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4</version> </dependency>

    這樣可以確保基礎Java Mail類可用于您的應用程序。

    在構建中配置完Java Mail類后,接下來要做的就是設置Spring XML配置。

    <!-- Spring mail configuration --><bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"><property name="host" value="${mail.smtp.host}"/></bean><!-- this is a template message that we can pre-load with default state --><bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage"><property name="to" value="${mail.to}"></property><property name="from" value="${mail.from}"/><property name="subject" value="${mail.subject}"/></bean>

    對于這個應用程序,這是發出自動報告的目的,我已經包括了兩個彈簧豆: mailSender和mailMessage 。 mailSender是一個JavaMailSenderImpl實例,該實例配置為使用特定的SMTP郵件服務器,并將所有其他屬性(例如TCP端口)保留為默認值。

    第二個春天bean是mailMessage ,實例SimpleMailMessage 。 這次,我已經預配置了三個屬性:“至”,“來自”和“主題”。 這是因為,作為自動消息,這些值始終相同。

    當然,您可以以編程方式配置這些,如果要創建郵件GUI,可能需要做一些事情。

    所有這些XML使Publisher的實現非常簡單。

    @Service public class EmailPublisher implements Publisher { private static final Logger logger = LoggerFactory.getLogger(EmailPublisher.class); @Autowired private MailSender mailSender; @Autowired private SimpleMailMessage mailMessage; @Override public <T> boolean publish(T report) { logger.debug("Sending report by email..."); boolean retVal = false; try { String message = (String) report; mailMessage.setText(message); mailSender.send(mailMessage); retVal = true; } catch (Exception e) { logger.error("Can't send email... " + e.getMessage(), e); } return retVal; } }

    Publisher類包含一個方法: publish ,它采用通用參數T report 。 正如我之前所說,此類型必須與我以前的博客中Formatter實現返回的參數類型相同。

    這段代碼中實際上只需要考慮三個步驟:首先,將通用T強制轉換為String (如果參數T report不是String ,這將全部掉下來)。

    第二步是將電子郵件的正文附加到mailMessage ,然后發送使用消息mailSender.send(…)

    最后一步是通過返回true來履行Publisher合同,除非電子郵件發送失敗,在這種情況下,將記錄異常并且返回值為false 。

    在開發相關代碼方面。 下一步是整理計劃,以便按時生成報告,但稍后會更多……

    • 該博客的代碼可在Github上找到: https : //github.com/roghughe/captaindebug/tree/master/error-track 。

    如果您想查看本系列中的其他博客,請在這里看……

  • 使用Spring跟蹤應用程序異常
  • 使用Spring跟蹤異常–第2部分–委托模式
  • 錯誤跟蹤報告–第3部分–策略和軟件包私有
  • 翻譯自: https://www.javacodegeeks.com/2014/04/tracking-exceptions-part-4-springs-mail-sender.html

    spring發郵件

    總結

    以上是生活随笔為你收集整理的spring发邮件_跟踪异常–第4部分– Spring的邮件发件人的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。