【发布时间】:2014-08-03 20:55:30
【问题描述】:
需要从本地主机发送电子邮件到外部帐户,如 gmail 和 yahoo。现在我有一个程序可以通过本地电子邮件服务器发送和接收来自本地域的邮件,例如(admin@ib-status.com devteam@ib-status.com)。但问题是当我尝试从本地域发送到 gmail 或 yahoo 帐户时,我无法做到这一点,例如(admin@ib-status.com -> myaccount@gmail.com)。需要这方面的帮助
PS。我正在使用 Hmailserver 作为电子邮件服务器
public class JMailer {
private static String HOSTNAME = "localhost";
private static String USERNAME = "admin";
private static String PASSWORD = "Mylocaldomainpassword";
public static void main(String[] args) {
try {
String to = "MygmailAccount@gmail.com";
String from = "admin@ib-status.com";
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host",HOSTNAME);
Session session = Session.getInstance(properties, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(USERNAME, PASSWORD);
}
});
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("My Subject!");
message.setText("Here Goes My Message");
Transport.send(message);
System.out.println("Message Sending Completed");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
下面是我来自 Hmailserver 日志的错误
“SMTPC”4508 0“2014-06-13 15:18:01.022”“TCP”“SMTPDeliverer - 消息 13 - 连接失败:主机名:74.125.25.27,消息:无法建立连接,因为目标机器主动拒绝”
我在这里错过了什么吗?为什么远程机器的连接被拒绝?我不想使用 gmail 的 SMTP 服务器发送消息。我只需要我自己的 smtp 服务器运行发送和接收
【问题讨论】:
-
您确定您的本地 hmail 服务器可以将邮件中继到其他域吗?
-
您确定没有防火墙阻止您的邮件服务器连接到 Gmail SMTP 服务器吗?
-
我确定我完全卸载了防火墙,并且我也通过与我的 isp 交谈来解锁了端口 25。
标签: java localhost jakarta-mail james hmail-server