[Java] JavaMail 简单案例
网易提供了免费的 SMTP / POP3服务,可用于编程测试,详情见 什么是POP3、SMTP和IMAP?
只需要拥有一个网易邮箱账号,并开启该账号的 SMTP / POP3 功能,便可以通过程序发送邮件到 SMTP 服务器,并由 SMTP 服务器发送邮件到收件人邮箱;或者通过 POP3 获取该账号网易邮箱上的邮件。
下面是一个简单的案例。利用 JavaMail 发送邮件到网易的 SMTP 服务器,随后便可以在收件人信箱找到程序发送的邮件。发送 html 格式,带附件的邮件可以参考下一篇博文 JavaMail 发送 html 格式、带附件的邮件。
package mail; import java.util.Properties; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class SendEmail { public static void main(){ String to = "receiver@foxmail.com"; String from = "sender@163.com"; final String username = "sender@163.com"; final String password = "password"; String host = "smtp.163.com"; Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.host", host); props.put("mail.smtp.port", "25"); Session session = Session.getInstance(props, new javax.mail.Authenticator(){ protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); message.setSubject("ssssssss222"); message.setText("ttttttttttttttttt222"); Transport.send(message); System.out.println("Sent "); }catch(Exception e){ System.out.println(e); for (StackTraceElement s : e.getStackTrace()){ System.out.println(s); } } } }
参考资料
avaMail API - Sending Simple Email