Я использую библиотеку Simple Java Mail (http://www.simplejavamail.org) в своей программе и хочу указать имя локального хоста, которое должно отправляться в EHLO при отправке электронной почты. Я пытался сделать это так:
Properties props = new Properties();
props.put("mail.smtp.sendpartial", "true");
props.put("mail.smtp.host", "smtp.mail.ru");
props.put("mail.smtp.localhost", "mail.ru");
Mailer mailer = MailerBuilder
.withSMTPServer(server, port, login, password)
.withTransportStrategy(TransportStrategy.SMTPS)
.withSessionTimeout(10 * 1000)
.clearEmailAddressCriteria()
.withProperties(props)
.withDebugLogging(true)
.buildMailer();
Как вы можете видеть в коде, у меня теперь должен быть "mail.ru" в EHLO, но этого не происходит, я продолжаю иметь имя моего компьютера. Я вижу следующее в журнале:
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.mail.ru", port 465, isSSL true
220 smtp46.i.mail.ru ESMTP ready (Looking for Mail for your domain? Visit https://biz.mail.ru)
DEBUG SMTP: connected to host "smtp.mail.ru", port: 465
EHLO MyComputersName
250-smtp46.i.mail.ru
250-SIZE 73400320
250-8BITMIME
250-PIPELINING
250 AUTH PLAIN LOGIN XOAUTH2
DEBUG SMTP: Found extension "SIZE", arg "73400320"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "AUTH", arg "PLAIN LOGIN XOAUTH2"
DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM
DEBUG SMTP: AUTH LOGIN command trace suppressed
DEBUG SMTP: AUTH LOGIN succeeded
Что я делаю не так? Как настроить mail.smtp.localhost?