首先在本地搭建一个邮件服务器,可以采用apache james或者国内的易邮服务器,具体的配置信息就不说了。
配置好之后,就可以利用java程序发送邮件啦!
不过现在各种大公司开放的邮箱,例如QQ,网易都添加了设置,以至于我们的免费服务器无法发送给它们邮件。好心酸,不能开心的发邮件了。。。
package mail;
import java.util.Date;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
public class SendMail {
public static void main(String[] args) {
try {
testSend();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void testSend() throws Exception
{
//指定邮件参数
Properties prop = new Properties();
prop.put("mail.transport.protocol", "smtp");
prop.put("mail.smtp.host", "localhost");
prop.put("mail.smtp.port", 25);
prop.put("mail.smtp.auth","true");
prop.put("mail.debug", "true");
//创建一个邮件回话
Session session = Session.getDefaultInstance(prop);
//创建邮件体
MimeMessage message = new MimeMessage(session);
//邮件标题
message.setSubject("第一封邮件");
//邮件发送时间
message.setSentDate(new Date());
//设置发送者
message.setSender(new InternetAddress("chen@wangxinyu.com"));
//设置接收者
//这里可以设置多个
message.setRecipient(RecipientType.TO, new InternetAddress("wang@wangxinyu.com"));
//设置内容
message.setText("哈哈");//这个是设置简单文本
//保存邮件
message.saveChanges();
//发送
Transport trans = session.getTransport();
//连接发送邮件服务器
trans.connect("chen", "chenguanyu");
//发送邮件
trans.sendMessage(message,message.getAllRecipients());
trans.close();
}
}