java发送邮件
1.打开qq邮箱,打开设置,打开账户,如图
2.开启服务:POP3/SMTP服务,如图
3.新建项目导入必须的jar包:commons-dbutils-1.7.jar
c3p0-0.9.5.2.jar
javax.mail-1.6.1.jar
4新建ToEmail类,需要用户账户,以及服务密码。send方法中的email是发送消息的对象(对方的邮箱)
package club.jiajiajia.registertest.util;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpSession;
import com.sun.mail.util.MailSSLSocketFactory;
/**
*
*/
public class ToEmail {
public static void send(String email) throws Exception {
Properties prop = new Properties();
prop.setProperty("mail.debug", "true");
prop.setProperty("mail.host", "smtp.qq.com");
prop.setProperty("mail.smtp.auth", "true");
prop.setProperty("mail.transport.protocol", "smtp");
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.enable", "true");
prop.put("mail.smtp.ssl.socketFactory", sf);
Session session = Session.getInstance(prop);
Transport ts = session.getTransport();
ts.connect("smtp.qq.com","******(qq邮箱账户)", "******(服务密码)");//填写邮箱账户和服务密码
String emsilmessage="<h1>weblog注册验证码<br></h1><p>请填写注册验证码,验证码为:<strong>"+code+"</strong>,-有效时间为两分钟。</p>";
Message message = createSimpleMail(session,email,emsilmessage);
ts.sendMessage(message, message.getAllRecipients());
ts.close();
}
/**
* @Method: createSimpleMail
* @Description:
*/
public static MimeMessage createSimpleMail(Session session,String email,String emailmessage)throws Exception {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("******(qq邮箱账户)"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(email));//收件人
message.setSubject("weblog注册验证码");
message.setContent(emailmessage, "text/html;charset=UTF-8");
return message;
}
}
5.新建test测试类
package club.jiajiajia.registertest.util;
public class Test {
public static void main(String[] args) throws Exception {
ToEmaim.send("jiajiajia@qq.com");//指定收件人
}}
6.查看测试结果
7完。