需要从本地主机发送电子邮件到外部帐户,如 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 服务器运行来发送和接收