-2
我想知道爲什麼下面的基本Java郵件程序不工作,因爲我沒有得到任何錯誤,因爲程序執行得很好。有什麼我做錯了嗎?任何幫助將不勝感激。我還想補充一點,我也嘗試過使用錯誤的用戶名和密碼組合,但仍然沒有錯誤,程序運行完全正常。簡單的Java郵件程序不工作?
public class emailfromgmail {
public static void main(String[]args)
{
final String from = "username";
final String pass = "password";
String to = "[email protected]";
String host="smtp.gmail.com";
String subject = "java Mail";
String body = "example of java mail api using gmail smtp";
//get the session object
Properties p = System.getProperties();
p.put("mail.smtp.starttls.enable","true");
p.put("mail.smtp.host",host);
p.put("mail.smtp.user",from);
p.put("mail.smtp.password",pass);
p.put("mail.smtp.port", "587");
p.put("mail.smtp.auth","true");
Session session = Session.getInstance(p,
new javax.mail.Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, pass);
}
});
try{
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
msg.setSubject(subject);
msg.setText(body);
Transport.send(msg);
System.out.print("message sent successfully");
}
catch(MessagingException e){
e.printStackTrace();
}
}
}
請解釋一下你的意思是「不工作」 –
尊敬的先生其實我的意思是在程序執行罰款,我沒有得到任何錯誤,但它只是沒有做任何事情,我的意思是它應該發送郵件,但它沒有這樣做。 –
由於電子郵件的「發件人」值不是電子郵件地址,而只是一個名稱,因此您的郵件可能會被作爲垃圾郵件丟棄。嘗試將'from'更改爲'sender @ gmail.com',其中'sender'當然是您的真實姓名。 – Andreas