Java如何发送电子邮件?

为了使您的应用程序能够发送电子邮件,您可以使用JavaMail API,在JDK 1.6之前,您还需要JavaBeans激活框架。JAF jar文件应包含在您的应用程序类路径中。

package org.nhooo.example.mail;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class SendingEmailDemo {
    public static void main(String[] args) {
        String from = "nhooo@gmail.com";
        String to = "nhooo@gmail.com";
        String subject = "Hi There...";
        String text = "How are you?";

        // 用于存储邮件服务器smtp信息(例如主机)的属性
        //名称和端口号。使用此属性,我们创建一个会话
        // 对象,我们将从中创建Message对象。
        Properties properties = new Properties();
        properties.put("mail.smtp.host", "smtp.gmail.com");
        properties.put("mail.transport.protocol", "smtp");
        properties.put("mail.smtp.starttls.enable", "true");
        properties.put("mail.smtp.port", "587");
        Session session = Session.getDefaultInstance(properties, null);

        try {
            // 邮件是要通过传输对象发送的邮件msg。
            // 在Message对象中,我们设置发件人地址和
            //收件人地址。这两个地址都是
            //InternetAddress。对于收件人地址,我们还可以设置
            //收件人的类型,该值可以是TO,CC或BCC。下一个
            // 在两行中,我们设置了电子邮件主题和内容文本。
            Message msg = new MimeMessage(session);
            msg.setFrom(new InternetAddress(from));
            msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
            msg.setSubject(subject);
            msg.setText(text);

            // 将消息发送给收件人。
            Transport.send(msg, "nhooo", "********");
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}

Maven依赖

<!-- http://repo1.maven.org/maven2/javax/mail/javax.mail-api/1.5.6/javax.mail-api-1.5.6.jar -->
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>javax.mail-api</artifactId>
    <version>1.5.6</version>
</dependency>
<!-- http://repo1.maven.org/maven2/javax/mail/mail/1.4.7/mail-1.4.7.jar -->
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>