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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

使用JavaMail发送邮件,465端口开启ssl加密传输

發布時間:2025/3/21 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用JavaMail发送邮件,465端口开启ssl加密传输 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自己的項目在本地發郵件沒任何問題。但部署到服務器,發送郵件顯示連接異常。原來是云服務器出于安全考慮,關閉了服務器的25端口,而25端口是smtp的默認端口。所以使用465端口開啟ssl加密傳輸

代碼:

package cn.lzhhuo.login_register.util;import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.security.Security; import java.util.Date; import java.util.Properties;public class MailUtil {/*** 使用加密的方式,利用465端口進行傳輸郵件,開啟ssl* @param to 為收件人郵箱* @param message 發送的消息*/public static void sendEmil(String to, String message) {try {Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";//設置郵件會話參數Properties props = new Properties();//郵箱的發送服務器地址props.setProperty("mail.smtp.host", "smtp.qq.com");props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);props.setProperty("mail.smtp.socketFactory.fallback", "false");//郵箱發送服務器端口,這里設置為465端口props.setProperty("mail.smtp.port", "465");props.setProperty("mail.smtp.socketFactory.port", "465");props.put("mail.smtp.auth", "true");final String username = " ";final String password = " ";//獲取到郵箱會話,利用匿名內部類的方式,將發送者郵箱用戶名和密碼授權給jvmSession session = Session.getDefaultInstance(props, new Authenticator() {protected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(username, password);}});//通過會話,得到一個郵件,用于發送Message msg = new MimeMessage(session);//設置發件人msg.setFrom(new InternetAddress(username));//設置收件人,to為收件人,cc為抄送,bcc為密送msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(to, false));msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(to, false));//設置郵件消息msg.setSubject("激活郵件");msg.setText(message);//設置發送的日期msg.setSentDate(new Date());//調用Transport的send方法去發送郵件Transport.send(msg);} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) throws Exception { // 做測試用String content="點擊激活";MailUtil.sendEmil(" @qq.com",content);System.out.println("發送成功");} }

可能出現的問題:
無法連接到SMTP主機:smtp.qq.com,端口:465:

pom.xml配置錯了:


使用默認25端口發送郵件

也可以參照以上來改動端口

總結

以上是生活随笔為你收集整理的使用JavaMail发送邮件,465端口开启ssl加密传输的全部內容,希望文章能夠幫你解決所遇到的問題。

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