Мне интересно, почему нижеследующая базовая почтовая программа 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' сообщения электронной почты не является адресом электронной почты, просто имя, ваше сообщение, вероятно, будет отброшено как спам. Попробуйте изменить 'from' на' sender @ gmail.com', где 'sender', конечно же, является вашим фактическим именем. – Andreas