发送电子邮件hi我写了这个代码连接SMTP,它正在罚款smtp.gmail.com但不适合我的客户端IP 10.5.128.146与端口号25使用SMTP
这里的代码。 ....你可以建议我任何解决方案。
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMailSSL {
public static void main(String[] args) {
Properties props = new Properties();
props.put("mail.smtp.host", "10.5.128.146");
props.put("mail.smtp.socketFactory.port", "25");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "25");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
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);
}
}
}
它显示连接超时错误。 任何人都可以告诉我这是一个真正的编程问题或服务器端问题。如果服务器端,我可以建议他们做什么。
Thnaks在Adance
是不是smtps通常端口465(而不是25)? –
在smtp日志中是否有任何输出?过去我遇到过很多麻烦,主要归结于(在企业网络的情况下)我的服务器IP地址不允许发送电子邮件,还有防火墙或类似的东西。检查smtp日志,看看有没有什么用处。如果甚至没有连接记录,请查看是否可以从服务器ping通smtp服务器。 – Ali
我有从我的服务器ping到那里,但答复来请求超时 – Atul