一般用戶注冊、找回密碼寞忿,都是通過 手機(jī) 和 郵箱 找回密碼的驰唬!
我這通過示范126郵箱發(fā)送編寫發(fā)送郵件服務(wù)!
導(dǎo)入JAR
編寫郵件服務(wù)需要導(dǎo)入對應(yīng)的jar包:http://mvnrepository.com/artifact/javax.mail/mail/1.4
開啟郵箱STMP
服務(wù)
我們是通過SMTP服務(wù)發(fā)送郵件、所以要先登錄郵箱網(wǎng)站開啟對應(yīng)的服務(wù)才行:http://www.126.com/
激活SMTP服務(wù)
點(diǎn)擊之后會彈框設(shè)置 授權(quán)碼 按照對應(yīng)的提示設(shè)置即可腔彰!
授權(quán)碼一定要記住定嗓、代碼里面需要用到
下面還有一個提示欄目蜕琴、里面有服務(wù)器地址萍桌,我們是SMTP服務(wù)器所以選擇SMTP服務(wù)器: smtp.126.com
宵溅、代碼需要使用到
郵件服務(wù)代碼
//郵件服務(wù)類
public class SendEmail {
//服務(wù)器地址
public static final String HOST = "smtp.126.com";
//協(xié)議
public static final String PROTOCOL = "smtp";
//端口
public static final int PORT = 25;
//郵箱帳號
public static final String FROM = "mrjanda@126.com";
//填寫自己的授權(quán)碼
public static final String PWD = "****";
//發(fā)送人昵稱,這個自定義
public static final String nick="xxx";
/**
* 獲取Session郵件
* @return session
*/
private static Session getSession() {
Properties props = new Properties();
props.put("mail.smtp.host", HOST);//設(shè)置服務(wù)器地址
props.put("mail.store.protocol" , PROTOCOL);//設(shè)置協(xié)議
props.put("mail.smtp.port", PORT);//設(shè)置端口
props.put("mail.smtp.auth" , "true");
Authenticator authenticator = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(FROM, PWD);
}
};
Session session = Session.getDefaultInstance(props , authenticator);
return session;
}
/**
* 發(fā)送信息至郵箱
* @param title 郵箱標(biāo)題
* @param toEmail 接收郵箱
* @param content 郵件內(nèi)容
* @throws AddressException
* @throws MessagingException
*/
public static void send(String title,String toEmail , String content) throws AddressException, MessagingException {
Session session = getSession();
Message msg = new MimeMessage(session);
//設(shè)置發(fā)送內(nèi)容
msg.setFrom(new InternetAddress(nick +"<"+FROM+">"));
InternetAddress[] address = {new InternetAddress(toEmail)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(title);
msg.setSentDate(new Date());
msg.setContent(content , "text/html;charset=utf-8");
//發(fā)送信息
Transport.send(msg);
}
public static void main(String[] args) {
try {
send("歡迎注冊", "158464459@qq.com", "這是測試發(fā)送的方法!");
System.out.println("發(fā)送成功上炎!");
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
郵件發(fā)送成功
其它郵箱服務(wù)可以使用這段代碼恃逻、只要修改對應(yīng)的服務(wù)器地址
,協(xié)議
,端口
,帳號
,授權(quán)碼
就可以使用
服務(wù)器地址:每個郵箱提供商地址都是不一樣、進(jìn)入郵箱設(shè)置可以查看藕施。
協(xié)議:調(diào)用自己對應(yīng)使用的即可寇损。
端口:協(xié)議不同端口也不相同。
帳號:發(fā)送郵件的帳號裳食。
授權(quán)碼:有的郵箱是稱之為 密碼矛市。
原文章:http://liujilu.com/2016/10/20/how-to-user-javamail/
我的個人博客網(wǎng)站:http://liujilu.com/