java编写QQ邮箱发送邮件_调用QQ邮箱接口
使用java語言,調(diào)用QQ郵箱發(fā)送郵件接口,完成QQ郵箱發(fā)送郵件。步驟如下
在QQ郵箱主界面里面開啟POP/SMTP服務(wù):設(shè)置-賬戶-開啟pop/smtp服務(wù)
點擊開啟pop/smtp服務(wù)后,會彈出驗證密保,就是通過密保手機號,發(fā)送“配置郵件客戶端”到1069 0700 69,(自己用手機弄一下就好了),用自己手機發(fā)送完后點擊“我已發(fā)送”
點擊“我已發(fā)送”后會彈出一個開啟POP3/SMTP服務(wù)的授權(quán)碼,這個授權(quán)碼很重要,要記住這個授權(quán)碼:授權(quán)碼很重要,然后點擊確定
此次我們就開起來POP3/SMTP服務(wù)了
到我們的項目中開始編碼:
首先我們在項目中導(dǎo)入一個包:mail.jar ,可以到網(wǎng)網(wǎng)上搜索下載
編寫一個QQ發(fā)送郵件的工具類:在工具類里面編寫一個靜態(tài)的方法:這個靜態(tài)方法接收兩個參數(shù),第一個參數(shù)是:你要發(fā)送給對方的郵箱(對方qq郵箱),第二個參數(shù):發(fā)送的內(nèi)容(我的項目中是驗證碼):代碼如下:
package org.passbox.soft.utils;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import com.sun.mail.util.MailSSLSocketFactory;
/*
-
郵件發(fā)送工具類
-
*/
public class MailUtils {undefined
//發(fā)送第二封驗證碼郵件public static void sendMail(String to, String vcode) throws Exception{undefined//設(shè)置發(fā)送郵件的主機 smtp.qq.comString host = "smtp.qq.com";//1.創(chuàng)建連接對象,連接到郵箱服務(wù)器Properties props = System.getProperties();//Properties 用來設(shè)置服務(wù)器地址,主機名 。。 可以省略//設(shè)置郵件服務(wù)器props.setProperty("mail.smtp.host", host); props.put("mail.smtp.auth", "true");//SSL加密MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);props.put("mail.smtp.ssl.enable","true");props.put("mail.smtp.ssl.socketFactory", sf); //props:用來設(shè)置服務(wù)器地址,主機名;Authenticator:認證信息Session session = Session.getDefaultInstance(props,new Authenticator() {undefined@Override //通過密碼認證信息protected PasswordAuthentication getPasswordAuthentication() {undefined//new PasswordAuthentication(用戶名, password);//這個用戶名密碼就可以登錄到郵箱服務(wù)器了,用它給別人發(fā)送郵件return new PasswordAuthentication("寫自己QQ郵箱","寫自己的授權(quán)碼");} });try {undefinedMessage message = new MimeMessage(session);//2.1設(shè)置發(fā)件人:message.setFrom(new InternetAddress("寫自己的QQ郵箱"));//2.2設(shè)置收件人 這個TO就是收件人message.setRecipient(RecipientType.TO, new InternetAddress(to));//2.3郵件的主題message.setSubject("來自密碼云網(wǎng)站驗證碼郵件");//2.4設(shè)置郵件的正文 第一個參數(shù)是郵件的正文內(nèi)容 第二個參數(shù)是:是文本還是html的連接message.setContent("<h1>來自密碼云網(wǎng)站驗證碼郵件,請接收你的驗證碼:</h1><h3>你的驗證碼是:"+vcode+",請妥善保管好你的驗證碼!</h3>", "text/html;charset=UTF-8"); //3.發(fā)送一封激活郵件Transport.send(message);}catch(MessagingException mex){undefinedmex.printStackTrace();} }}
注意:
5.3 在server里面調(diào)用這個QQ郵箱工具類里面的靜態(tài)方法發(fā)送郵件:而且要傳入兩個參數(shù)
.對方的QQ郵箱和,內(nèi)容(驗證碼)
5.4 我們就可以收到發(fā)送過來的郵件了
最后:如果出現(xiàn)535錯誤(亂碼535),
原因1:授權(quán)碼錯誤原因2:開啟POP3/SMTP服務(wù)后,沒有保存總結(jié)
以上是生活随笔為你收集整理的java编写QQ邮箱发送邮件_调用QQ邮箱接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux的vi编辑器的dd命令,lin
- 下一篇: 物业计算机管理系统论文,小区物业管理系统