Sending email using SMTP

柔情痞子 提交于 2019-12-12 01:52:52

问题


hi I have written this code to connect SMTP it is working fine for smtp.gmail.com but not for my client for IP 10.5.128.146 with port no 25.

here the code is ..... can you suggest me any solution.

 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("xyz@mydomain.com"));
        message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse("abc@otherdomain.com"));
        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);
    }
}

}

it shows connection time out error. anyone can tell me is this really a programming problem or server side problem.if server side then what can I suggest them to do.

Thnaks in Adance


回答1:


You appear to have modified a GMail connection snippet. GMail requires SSL but a traditional "port 25" SMTP server does not so the handshake does not work properly.

I would suggest removing the mail.smtp.socketFactory.class and mail.smtp.auth properties.




回答2:


Timed out suggests that port 25 is firewalled and the firewall is simply dropping packets, rather than replying with a connection refused.




回答3:


check to see if you are able to telnet on port 25 for that IP of yours...if you are able to telnet, that means the port is not firewalled and there are connectivity issues....if it is blocked by the firewall, you need to apply rules to allow this connection!!!



来源:https://stackoverflow.com/questions/7263053/sending-email-using-smtp

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!