JavaMail 总结
1.发送邮件都是根据smtp协议基于socket发送到新浪smtp服务器,并保存在该新浪邮箱的存储器中。
2.然后发送到收件人的账户的搜狐的smtp服务器中,并保存在搜狐的存储器中。
3.搜狐收件人从pop服务器获取该邮件。
import java.util.Properties;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Email {
public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.sina.cn");
props.put("mail.smtp.auth", "true");
//基本的邮件会话
Session session = Session.getInstance(props);
//构造信息体
MimeMessage message = new MimeMessage(session);
//发件地址
Address address = new InternetAddress("XXXXX@sina.cn");
message.setFrom(address);
//收件地址
Address toAddress = new InternetAddress("XXX@qq.com");
message.setRecipient(MimeMessage.RecipientType.TO, toAddress);
//主题
message.setSubject("Hello world");
//正文
message.setText("Hello world");
message.saveChanges(); // implicit with send()
//Exception in thread "main" javax.mail.NoSuchProviderException: smtp
session.setDebug(true);
Transport transport = session.getTransport("smtp");
transport.connect("smtp.sina.cn", "XXXXX@sina.cn", "password");
//发送
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
}