我们家里有一台 centos 6.4 服务器,它有动态 IP,没有域名。我们知道 IPS 通常会阻止端口 25。我们需要测试服务器是否能向我自己的电子邮件帐户(如 gmail 或 yahoo)发送电子邮件。如何进行调整?电子邮件甚至可以是 @localhost,只要它能向我们的邮箱发送电子邮件,我们并不介意。
我当前的 java 应用程序代码。
Properties props = new Properties();
props.put("mail.smtp.host", "*******");
props.put("mail.smtp.socketFactory.port", "26");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "26");
mailSession = Session.getInstance(props,new javax.mail.Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication("*******","********");
}
});
transport = mailSession.getTransport("smtp");
transport.connect(emailUsername, emailPassword);
}
答案1
您可以按照@ALex_hha 的建议连接到 gmail/yahoo 的端口 587 或 465。只需确保您将 MTA 配置为使用远程 smtp 身份验证。这取决于每个 MTA 和远程电子邮件服务。例如,本文介绍了如何将 postfix 连接到 gmail:http://webcache.googleusercontent.com/search?q=cache:loyCTx-lYuIJ:ubuntu-tutorials.com/2008/11/11/relaying-postfix-smtp-via-smtpgmailcom/&hl=en&strip=1
或者,如果您能提供充分的理由,您可以请求您的 ISP 解除对端口 25 的阻止(我已成功请求过),但当您向全世界发送电子邮件时,您需要在 MTA 上配置一个有效的电子邮件域。使用类似地址发送电子邮件sender@localhost
几乎 100% 会导致您的电子邮件被拒绝/标记为垃圾邮件。