日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Simple Java Mail郵件發送實現過程解析

瀏覽:178日期:2022-08-21 14:16:48

前言

在我們日常工作中,郵件發送服務經常會用到,我們常用的java郵件服務實現方案有:java原生自帶的javamail、apache commons mail工具包、spring mail。但是個人使用這么久而言,感覺使用起來都不太順手,也略顯復雜

在此推薦一個簡單易用的類庫simple-java-mail

github地址: http://www.simplejavamail.org

下面我會介紹一下這個mail工具類的基本用法,不過基本都是來自于官網,隨后我會基于這個mail工具類去封裝一個基本通用的郵件服務。

maven引入

<dependency> <groupId>org.simplejavamail</groupId> <artifactId>simple-java-mail</artifactId> <version>4.2.3-java6-release</version></dependency>

例子

發送一封簡易郵件

寫法1 Builder模式:

Email email = new EmailBuilder().from('Michel Baker', 'm.baker@mbakery.com').to('mom', 'jean.baker@hotmail.com').to('dad', 'StevenOakly1963@hotmail.com').subject('My Bakery is finally open!').text('Mom, Dad. We did the opening ceremony of our bakery!!!').build();

new Mailer('server', 25, 'username', 'password').sendMail(email);

寫法二 常規模式:

Email email = new Email();

email.setFromAddress('Michel Baker', 'm.baker@mbakery.com');email.addRecipient('mom', 'jean.baker@hotmail.com', RecipientType.TO);email.addRecipient('dad', 'StevenOakly1963@hotmail.com', RecipientType.TO);email.setSubject('My Bakery is finally open!');email.setText('Mom, Dad. We did the opening ceremony of our bakery!!!');

new Mailer('server', 25, 'username', 'password').sendMail(email);

和spring結合使用

<bean class='org.simplejavamail.mailer.Mailer'> <constructor-arg value='server' /> <constructor-arg value='25' /> <constructor-arg value='username' /> <constructor-arg value='password' /></bean>@Autowired Mailer inhouseMailer; inhouseMailer.sendMail(email);inhouseMailer.sendMail(anotherEmail);

添加多個接收者

//添加多個接收者email.addRecipients(yourRecipient1, yourRecipient2...);//也可以通過逗號“,”分割多個抄送人String list = 'twister@sweets.com,blue.tongue@sweets.com;honey@sweets.com';emailNormal.addRecipients(list, RecipientType.BCC);

builder模式:.to(yourRecipient1, yourRecipient2...).bcc('twister@sweets.com,blue.tongue@sweets.com;honey@sweets.com')....build();

支持異步發送

// 第二個參數是true則是異步發送,false則是同步發送mailer.sendMail(email, true);

配置SSL或TLS

Email email = new Email();

mailer.sendMail(email, TransportStrategy.SMTP_PLAIN); // 此為默認值,不加嵌套任何傳輸協議mailer.sendMail(email, TransportStrategy.SMTP_SSL);mailer.sendMail(email, TransportStrategy.SMTP_TLS);

我們也可以在初始化郵件服務器配置時聲明傳輸協議

new Mailer('smtp.gmail.com', 25, 'your user', 'your password', TransportStrategy.SMTP_TLS).sendMail(email);new Mailer('smtp.gmail.com', 587, 'your user', 'your password', TransportStrategy.SMTP_TLS).sendMail(email);new Mailer('smtp.gmail.com', 465, 'your user', 'your password', TransportStrategy.SMTP_SSL).sendMail(email);

發送附件

Email email = new Email();

email.addAttachment('dresscode.txt', new ByteArrayDataSource('Black Tie Optional', 'text/plain'));email.addAttachment('location.txt', 'On the moon!'.getBytes(Charset.defaultCharset()), 'text/plain');

// 當然,你可以傳輸任何文件格式的附件

email.addAttachment('invitation.pdf', new FileDataSource('invitation_v8.3.pdf'));

內容嵌套圖片

Email email = new Email();

email.addEmbeddedImage('smiley', new FileDataSource('smiley.jpg'));

String base64String = 'iVBORw0KGgoAAAANSUhEUgAAA ...snip';email.addEmbeddedImage('thumbsup', parseBase64Binary(base64String), 'image/png');

// 圖片需要在html文本中通過cid:xxxx,的方式引用<p>Let’s go!</p>![](cid:thumbsup)<br/><p>Smile!</p>![](cid:smiley)

自定義發送頭

Email email = new Email();

email.addHeader('X-Priority', 2);email.addHeader('X-MC-GoogleAnalyticsCampaign', 'halloween_sale');email.addHeader('X-MEETUP-RECIP-ID', '71415272');email.addHeader('X-my-custom-header', 'foo');

驗證郵箱合法性

具體使用的工具類是email-rfc2822-validator

github地址:https://github.com/bbottema/email-rfc2822-validator

//經過使用發現,貌似只是用正則表達式去驗證郵箱是否合法EmailAddressValidator.isValid('your_address@domain.com',EmailAddressCriteria.RFC_COMPLIANT);EmailAddressValidator.isValid('your_address@domain.com',EnumSet.of(EmailAddressCriteria.ALLOW_QUOTED_IDENTIFIERS, EmailAddressCriteria.ALLOW_PARENS_IN_LOCALPART));

使用代理發送

// anonymous proxynew Mailer(serverConfig, new ProxyConfig('proxy.host.com', 1080));

// authenticated proxynew Mailer(serverConfig, new ProxyConfig('proxy.host.com', 1080, 'proxy username', 'proxy password'));

總結

此工具類方便易用,簡潔明了,而且支持Builder模式鏈式調用。有興趣的同學可以嘗試使用,個人感覺比原生mail,spring mail等易用,更多用法請自行查看官網例子。至于一開始說到的封裝通用的郵件服務,這個由于時間關系,我放到下一次再實現。謝謝大家的支持,如果此文對你有所幫助,請點個贊,謝謝。

https://github.com/bbottema/simple-java-mail/

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品一级中文字幕精品视频免费观看 | 国产亚洲一区二区三区啪| 国产精品白浆| 久久午夜精品| 亚洲精品一区三区三区在线观看| 日韩高清在线观看一区二区| 日韩在线短视频| 精品在线网站观看| 亚洲精品福利| 欧美va天堂| 欧美sm一区| 精品黄色一级片| 国产精品一级| 日韩av中文字幕一区二区| 免费在线成人网| 亚洲一区二区毛片| 天堂成人国产精品一区| 亚洲综合不卡| 亚洲精品2区| 综合一区二区三区| 精品国产乱码久久久久久1区2匹| 在线成人动漫av| 美女精品在线观看| 日本亚洲最大的色成网站www| 亚洲一区av| 国产精品片aa在线观看| 成人午夜在线| 国产毛片一区| 日韩精品第一| 日本伊人久久| 久久成人高清| 欧美日韩国产高清电影| 日韩在线a电影| 国产精品一区二区三区美女 | 日韩国产专区| 亚洲综合日本| 精品丝袜久久| 先锋影音久久久| 福利片在线一区二区| 久久精品亚洲一区二区| 中文字幕日本一区二区| 麻豆国产精品| 亚洲精品美女91| 婷婷五月色综合香五月| 国产探花一区二区| 日韩午夜高潮| 丝袜美腿亚洲一区二区图片| 男人的天堂久久精品| 精品久久视频| 日韩亚洲一区在线| 欧美日韩免费看片| 女人av一区| 欧美影院三区| 国精品一区二区三区| 日韩一区三区| 日韩欧美一区二区三区在线视频| 成人一二三区| 久久av影院| 日本国产亚洲| 日韩一区二区三区在线看| 亚洲毛片一区| 国产精品第十页| 鲁大师精品99久久久| 日韩一区二区三免费高清在线观看 | 国产91欧美| 麻豆一区二区三| 精品视频在线观看网站| 国产suv精品一区二区四区视频| 亚洲福利国产| 91久久视频| 亚洲欧美成人综合| 99久久久久| 国产在线观看www| 91成人小视频| 美女久久一区| 影音国产精品| 欧美女激情福利| 亚洲国产影院| 一区视频在线| 欧美日韩国产传媒| 久久精品动漫| 亚洲欧美日韩国产综合精品二区| 国产一区成人| 国产欧美日韩影院| 欧美日韩精品免费观看视欧美高清免费大片| 日韩成人亚洲| 国户精品久久久久久久久久久不卡 | 青青草国产成人99久久| 精品久久久久中文字幕小说| 久久精品国产www456c0m| 五月亚洲婷婷 | 夜夜精品视频| 国产精品中文| 日韩亚洲精品在线| 久久不见久久见免费视频7| 天堂资源在线亚洲| 国产精品丝袜在线播放| 亚洲福利一区| 国产精品xxxav免费视频| 激情91久久| 日韩国产一区二区| 国产精品亚洲片在线播放| 久久亚洲视频| 精品一区在线| 日本久久黄色| 国产精品4hu.www| 丝袜美腿一区二区三区| 日本久久成人网| 精品国产一区二区三区2021| 四虎在线精品| 免费精品视频在线| 99国产精品| 五月综合激情| 亚洲午夜一级| 99久久夜色精品国产亚洲1000部| 欧美国产日本| 国产精品久久久久毛片大屁完整版| 99在线精品免费视频九九视| www成人在线视频| 日韩免费福利视频| 日产精品一区| 国产一区2区| 91免费精品| 日韩在线二区| 久久婷婷久久| 激情综合激情| 亚洲欧洲午夜| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品色网| 一区二区三区四区日韩| 日韩高清不卡在线| 国产精品亚洲产品| 国产成人免费av一区二区午夜| 国产suv精品一区二区四区视频| 国产一区二区三区视频在线| 在线人成日本视频| 日本免费一区二区三区四区| a国产在线视频| 91国语精品自产拍| 日欧美一区二区| 精品视频自拍| 午夜久久99| 国产精品亚洲综合久久| 日本欧美国产| 麻豆久久一区| 福利片在线一区二区| 综合亚洲视频| 欧美日韩亚洲一区在线观看| 狠狠久久伊人中文字幕| 亚洲免费在线| 日韩在线短视频| 亚洲九九精品| 新版的欧美在线视频| 91精品丝袜国产高跟在线| 91精品一区国产高清在线gif | 首页国产欧美久久| 国产成人免费视频网站视频社区| 免费成人在线影院| 国产99亚洲| 日本久久精品| 久久伊人久久| 亚洲精品美女91| 九一精品国产| 欧美亚洲国产激情| 天堂√8在线中文| 成人国产精品久久| 国产精品magnet| 国产精品亚洲成在人线| 五月亚洲婷婷 | 91一区二区三区四区| 日韩激情一二三区| 色综合视频一区二区三区日韩 | 亚洲精品电影| 伊人久久视频| 精品成av人一区二区三区| 综合干狼人综合首页| 国产高清久久| 国产一区二区三区四区五区传媒| 日本va欧美va瓶| 在线精品一区二区| 图片区亚洲欧美小说区| 免费在线小视频| 激情欧美丁香| 五月天久久777| 亚洲一二三区视频| 西西人体一区二区| 国产福利亚洲| 一本大道色婷婷在线| 爽爽淫人综合网网站| 日韩av一区二区三区四区| 羞羞答答国产精品www一本| 亚洲免费观看| 视频在线观看国产精品| 性欧美精品高清| 亚洲日本网址| 亚洲乱码久久| 日韩久久精品| 亚洲黄色在线| 国产精品v日韩精品v欧美精品网站| 色婷婷色综合|