package com.cs.mail;
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;
/**
* 这个发送邮件的步骤比较复杂,要自己去连接,发送,关闭。
* @author Administrator
*
*/
public class SmtpTest {
public static void main(String[] args)throws Exception {
String title = "java 邮件系统练习";
String content = "你好,我是XXXX!很高兴认识你!";
String user1 = "l4@126.com";
String user2 = "l04@126.com";
String user3 = "t6an@ssel.com";
String user4 = "5965444424@qq.com";
String user5 = "175355633@qq.com";
String server163 = "top3.126.com";
String serverSohu = "smtp.126.com";
//title = new String(title.getBytes("iso-8859-1"));//不用转编码了,否则是乱码
Properties props = new Properties();
props.put("mail.smtp.host", serverSohu);// 指定SMTP服务器
props.put("mail.smtp.auth", "true");// true表示需要SMTP验证,false现在已经不能使用了,服务器要求必须使用true
Session mailSession = Session.getDefaultInstance(props);//创建一次,以后就直接使用它,发和送应该要使用不同的实例
//Session mailSession = Session.getInstance(props);//每次调用都创建一个新的
mailSession.setDebug(true);// 是否在控制台显示debug信息
Message message = new MimeMessage(mailSession);
message.setFrom(new InternetAddress(user2));// 发件人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(user1));// 收件人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(user4));// 收件人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(user5));// 收件人
message.addRecipient(Message.RecipientType.CC, new InternetAddress(user2));// 收件人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(user3));// 收件人
message.setSubject(title);// 邮件主题
message.setText(content);// 邮件内容 纯文本的
message.saveChanges();
Transport transport = mailSession.getTransport("smtp");
//下面三行代码就是连接邮件服务器,发送邮件,关闭连接三个动作
transport.connect(serverSohu,25, "邮箱的用户名", "密码"); //连接时要使用正确的邮箱和密码,并且要跟setFrom里的一致
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
}
javamail发送邮件的例子
最新推荐文章于 2023-07-08 23:55:47 发布