目錄
前言
一郵件服務器與傳輸協(xié)議
二.發(fā)送郵件思路
2.1注冊163郵箱:
2.2、打開郵箱服務獲取授權(quán)碼
三.代碼實現(xiàn)郵件發(fā)送
3.1第三方jar包
3.2創(chuàng)建郵件工具類
3.3編寫測試類
前言
電子郵件的應用非常廣泛,例如在某網(wǎng)站注冊了一個賬戶,自動發(fā)送一封歡迎郵件,通過郵件找回密碼,自動批量發(fā)送活動信息等。但這些應用不可能和我們自己平時發(fā)郵件一樣,先打開瀏覽器,登錄郵箱,創(chuàng)建郵件再發(fā)送。本文將簡單介紹如何通過 Java 代碼來創(chuàng)建電子郵件,并連接郵件服務器發(fā)送郵件。
一郵件服務器與傳輸協(xié)議
要在網(wǎng)絡上實現(xiàn)郵件功能,必須要有專門的郵件服務器。這些郵件服務器類似于現(xiàn)實生活中的郵局,它主要負責接收用戶投遞過來的郵件,并把郵件投遞到郵件接收者的電子郵箱中。
SMTP服務器地址:一般是 smtp.xxx.com,比如163郵箱是smtp.163.com,qq郵箱是smtp.qq.com。
SMTP協(xié)議:通常把處理用戶smtp請求(郵件發(fā)送請求)的服務器稱之為SMTP服務器(郵件發(fā)送服務器)。
POP3協(xié)議:通常把處理用戶pop3請求(郵件接收請求)的服務器稱之為POP3服務器(郵件接收服務器)。
二.發(fā)送郵件思路
2.1注冊163郵箱:
如果有郵箱就不注冊
2.2、打開郵箱服務獲取授權(quán)碼
1.進入主頁、找到服務開啟頁
2.點擊開服務
3.使用注冊手機號,發(fā)送驗證碼,即可獲得授權(quán)碼
4.獲取郵件密碼
三.代碼實現(xiàn)郵件發(fā)送
3.1第三方jar包
<!--發(fā)郵件jar -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.2</version>
</dependency
3.2創(chuàng)建郵件工具類
public class EmailUtil {
public static void sendEmail(String recipient, String subject, String content) throws MessagingException {
// 發(fā)件人的郵箱賬號和密碼
// String senderEmail = "your_email@163.com";
// String senderPassword = "your_E-mail@163.com-password";
// 配置SMTP服務器 創(chuàng)建Properties對象,用于SMTP認證
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.163.com"); // 163郵箱服務器配置
props.put("mail.smtp.port", "25"); // 根據(jù)你的郵件服務器進行配置
// 創(chuàng)建Session對象
Session session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(senderEmail, senderPassword);
}
});
// 創(chuàng)建Message對象
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(senderEmail));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(recipient));
message.setSubject(subject);
message.setText(content);
// 發(fā)送郵件
Transport.send(message);
}
3.3編寫測試類
public static void main(String[] args) {
try {
sendEmail("your_E-mail@163.com","測試郵件","測試郵件內(nèi)容");
} catch (MessagingException e) {
e.printStackTrace();
}
}
?測試結(jié)果:?文章來源:http://www.zghlxwxcb.cn/news/detail-799829.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-799829.html
到了這里,關(guān)于java發(fā)送郵件(注:本章以163郵箱為例)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!