有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

电子邮件java mail gmail

我想通过google的smtp服务器在java程序中发送邮件,但它似乎无法发送邮件。有人能告诉我为什么吗

这是发送邮件的功能:

     public void sendMail(){
            String from = "xxx@gmail.com";
    String to = "xxx@hotmail.com";
    String subject = "Test";
    String message = "A test message";

    SendMail sendMail = new SendMail(from, to, subject, message);
    sendMail.send();
}

这是我们的课

public class SendMail {
private String from;
private String to;
private String subject;
private String text;

public SendMail(String from, String to, String subject, String text){
    this.from = from;
    this.to = to;
    this.subject = subject;
    this.text = text;
}

public void send(){

    Properties props = new Properties();
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.auth", "true");
    props.setProperty( "mail.smtp.port", "587" );
    props.put("mail.smtp.starttls.enable", "true");
    Session session = Session.getDefaultInstance(props);

    new javax.mail.Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication(from, "MyPasswordGoesHere");
    }
      };

  try {
    MimeMessage message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
    message.setSubject(subject);
    message.setText(text);

    Transport.send(message);
    System.out.println("message sent successfully");
    } catch (MessagingException e) {
    throw new RuntimeException(e);
     }
      }
        }

提前谢谢


共 (2) 个答案

  1. # 2 楼答案

    my blog post中,我试图举例说明如何通过Gmail的SMTP服务器用Java发送电子邮件。这里有两个示例代码。其中一个使用Java邮件API,而另一个利用Apache Commons邮件库