我想通过谷歌的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);
}
}
}
提前致谢!
最佳答案
原文链接:https://www.f2er.com/java/438184.html