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

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

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

瀏覽:181日期: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久久,三上悠亚国产精品一区二区三区
欧美天堂在线| 久久一区二区中文字幕| 欧美日韩在线播放视频| 成人在线黄色| 久久久久久婷| 国产精选在线| 卡一精品卡二卡三网站乱码| 国产精品一国产精品| 国产免费av一区二区三区| 日本在线观看不卡视频| 日韩三级精品| 国产欧美日韩视频在线| 国产精品欧美三级在线观看| 国产丝袜一区| 精品国产一区二区三区2021| 成人精品动漫一区二区三区| 欧美日韩视频免费观看| 久久精品播放| 欧美日韩免费观看一区=区三区| 9久re热视频在线精品| 亚洲免费在线| 五月激激激综合网色播| 亚洲a级精品| 日本综合视频| 国产精品chinese| 国产精品黑丝在线播放| 亚洲性视频h| 99国产精品久久久久久久| 视频一区视频二区中文字幕| 日本精品一区二区三区在线观看视频| 国产免费播放一区二区| 国产aⅴ精品一区二区四区| 亚洲成人va| 免费看黄色91| 国产精品久久久久久久久久久久久久久| 国产一区国产二区国产三区 | 91成人精品视频| 亚洲高清激情| 日韩一区二区三区免费视频| 久久这里只有精品一区二区| 久久久久.com| 日韩在线观看中文字幕| 久久久免费人体| 久久精品电影| 亚洲精品在线a| 精品亚洲a∨| 99视频一区| 国产精品亚洲欧美| 久久三级视频| 亚洲综合色婷婷在线观看| 国产亚洲欧美日韩在线观看一区二区| 超碰成人av| 伊人久久一区| 国产乱人伦精品一区| 欧美成人基地| 日韩精品一级| 日韩精品电影| 日韩精品久久理论片| 精品国产乱码久久久| 欧美精品一区二区三区精品| 国产日韩亚洲| 亚洲激情精品| 精品中文在线| 久久高清免费观看| 国产精品一区二区av日韩在线| 日韩欧美一区免费| 青青草伊人久久| 999精品色在线播放| 国产人成精品一区二区三| 久久国产毛片| 国产精品欧美日韩一区| 成人av动漫在线观看| 国产精品1区| 亚洲欧美日本日韩| 国产激情在线播放| 亚洲91在线| av亚洲免费| 高清av一区| 日韩精品欧美大片| 成人精品天堂一区二区三区| 国产美女撒尿一区二区| 一本色道精品久久一区二区三区| 久久中文在线| 日韩视频一二区| 91久久国产| a天堂资源在线| 国产精品一区二区精品| 亚洲综合福利| 国产高清一区| 高清不卡亚洲| 国产精品视频一区二区三区| 久久xxxx精品视频| 亚洲伦乱视频| 精品高清久久| 日本成人中文字幕在线视频| 婷婷综合网站| 欧美久久天堂| 国产在线观看91一区二区三区| 婷婷久久免费视频| 日本欧美在线看| 精品欧美一区二区三区在线观看| 美女视频一区在线观看| 日韩精品欧美大片| 日韩中文字幕一区二区三区| 午夜av一区| 欧美中文一区二区| 成人午夜国产| 亚洲最新无码中文字幕久久 | 在线亚洲一区| 色婷婷精品视频| 五月激情久久| 黄色欧美在线| 欧美激情麻豆| 国产精品手机在线播放| 日韩av一区二区三区四区| 久久亚洲欧洲| 国产手机视频一区二区| 99re国产精品| 国产精品美女| 欧美91精品| 久久国产精品成人免费观看的软件| 亚洲三级欧美| 国产自产自拍视频在线观看| 国产精品一区高清| 国产毛片精品久久| 国产精品羞羞答答在线观看| 国产丝袜一区| 国产亚洲电影| 欧美交a欧美精品喷水| 久久精品午夜| 98精品视频| 久久久久久美女精品| 久久久久久美女精品| 国产一区二区三区自拍| 免费国产自久久久久三四区久久 | 亚洲aa在线| 四虎在线精品| 日韩国产在线一| 国产精品一线| 精品久久电影| 日本精品影院| 在线视频日韩| 亚洲精品乱码久久久久久蜜桃麻豆| 在线精品亚洲| 国产欧美三级| 97精品在线| 久久中文字幕av一区二区不卡| 日韩a一区二区| 久久久久久久久久久妇女 | 日韩有吗在线观看| 欧美色综合网| а√天堂8资源在线| 久久视频一区| 久久亚洲精品伦理| 欧美日一区二区在线观看| 国产精品网址| 亚洲黄色中文字幕| 亚洲一区观看| 日韩高清不卡在线| 精品国产一区二区三区性色av| 天堂网av成人| 亚洲网址在线观看| 国产精品久久久亚洲一区| 精品国产亚洲一区二区三区| 日韩理论视频| 亚洲在线网站| 欧美私人啪啪vps| 国产在线观看www| 欧美日韩国产欧| 日韩精品成人| 精品国产不卡一区二区| 欧美日韩精品一区二区视频| 免费观看在线综合| 精品久久久久中文字幕小说| 美女毛片一区二区三区四区| 亚洲最新av| 国产一区二区三区成人欧美日韩在线观看| 日韩av首页| 免费在线观看视频一区| 国产精品男女| 欧美在线影院| 国产精品亚洲欧美一级在线 | 韩国女主播一区二区三区| 亚洲午夜黄色| 欧美精品三级在线| 99久久婷婷| 日韩黄色在线观看| 婷婷综合六月| 日本成人在线网站| 日韩精品欧美| 国产欧美成人| 五月综合激情| 日韩不卡一区二区三区| 亚洲深夜视频| 日韩不卡一区二区三区| 99久久亚洲精品蜜臀| 日韩高清电影免费| 亚洲午夜在线| 美女毛片一区二区三区四区最新中文字幕亚洲| 国产v综合v|