Этот вопрос перешел к более определенному вопросу из довольно расплывчатого. Код исходит от example by mkyong. По крайней мере, согласно Google, it's a bad password, и я следил за их предложением для входа. Конечно, я получаю тот же результат при вводе правильного пароля, пароль ниже - это манекен. Это тот же результат независимо от пароля.SendFailedException: неверный пароль
Выход:
BUILD SUCCESSFUL
Total time: 1 second
-- listing properties --
mail.smtp.gmail=smtp.gmail.com
mail.smtps.quitwait=true
[email protected]
mail.smtp.starttls.enable=true
mail.smtp.connectiontimeout=2000
mail.smtp.user=hawat.thufir
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
mail.smtp.password=password
nntp.host=nntp://localhost/
mail.smtp.socketFactory.port=465
mail.smtp.timeout=2000
mail.imap.port=993
mail.imap.timeout=5000
mail.smtp.port=587
mail.smtp.auth=true
mail.imap.host=imap.gmail.com
mail.nntp.newsrc.file=/home/thufir/.newsrc
mail.imap.connectiontimeout=5000
mail.smtp.host=smtp.gmail.com
========message follows==========
Exception in thread "main" java.lang.RuntimeException: javax.mail.SendFailedException: Send failed;
nested exception is:
javax.mail.SendFailedException: 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 g6sm55120721pat.2 - gsmtp
at net.bounceme.dur.nntp.SendTLS.sendMessage(SendTLS.java:61)
at net.bounceme.dur.nntp.SendTLS.<init>(SendTLS.java:23)
at net.bounceme.dur.nntp.SendTLS.main(SendTLS.java:34)
Caused by: javax.mail.SendFailedException: Send failed;
nested exception is:
javax.mail.SendFailedException: 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 g6sm55120721pat.2 - gsmtp
at javax.mail.Transport.doSend(Transport.java:231)
at javax.mail.Transport.send(Transport.java:75)
at net.bounceme.dur.nntp.SendTLS.sendMessage(SendTLS.java:57)
... 2 more
[email protected]:~/NetBeansProjects/MailFromNNTP$
код:
public class SendTLS {
public SendTLS() {
try {
sendMessage();
} catch (NoSuchProviderException ex) {
Logger.getLogger(SendTLS.class.getName()).log(Level.SEVERE, null, ex);
} catch (MessagingException ex) {
Logger.getLogger(SendTLS.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(SendTLS.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String[] args) {
new SendTLS();
}
private void sendMessage() throws NoSuchProviderException, MessagingException, IOException {
Properties props = PropertiesReader.getProps();
props.list(System.out);
System.out.println("\n========message follows==========\n");
final String username = props.getProperty("mail.smtp.username");
final String password = props.getProperty("mail.smtp.password");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]"));
message.setSubject("Testing Subject");
message.setText("Dear Mail Crawler,\n\n No spam to my email, please!");
Transport.send(message);
System.out.println("Done");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
Is портировать Integer (а не строка Просто угадать: P)? Также попробуйте заменить getDefaultInstance на Session.getInstance (реквизиты). И если это не поможет. Попробуйте реквизиты «mail.smtp.connectiontimeout» и «mail.smtp.timeout» и установите предел для получения stacktrace. Часто это проблема брандмауэра/порта/сети. – Caadi0
строка 58 - это соединение: «transport.connect (хост, порт, пользователь, пароль)»; и, кстати, порт - это int. Конечно, я испробовал правильный пароль. ' – Thufir
Я знаю, что это было через несколько изменений. Это довольно странно, обходя файл свойств до минимального минимума на самом деле ** вводит ** ошибки в 'SendTLS'. – Thufir