簡體   English   中英

發送電子郵件時發生SSL異常

[英]Ssl exception occurs when sending email

我正在嘗試通過Java應用程序發送電子郵件。 我正在嘗試從托管服務提供商(cyberhost.in)提供的電子郵件帳戶發送電子郵件。 每當我運行應用程序時,都會收到ssl異常。

1)代碼

public class Email {
    public static void main(String[] args) throws UnsupportedEncodingException {
        Properties props = new Properties();
        props.put("mail.smtp.host", "v1.cyberns.net");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class",
                "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");

        Session session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("admin@heyywassup",
                                "********");
                    }
                });

        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("admin@heyywassup.com",
                    "heyywassup"));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse("amlan@ymail.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);
        }
    }
}

2)異常

>>>>>Sending data QUIT<<<<<<
Exception in thread "main" java.lang.RuntimeException: javax.mail.MessagingException: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
    at com.bean.Email.main(Email.java:47)
Caused by: javax.mail.MessagingException: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
    at org.apache.geronimo.javamail.transport.smtp.SMTPTransport.sendLine(SMTPTransport.java:1702)
    at org.apache.geronimo.javamail.transport.smtp.SMTPTransport.sendQuit(SMTPTransport.java:1459)
    at org.apache.geronimo.javamail.transport.smtp.SMTPTransport.close(SMTPTransport.java:732)
    at javax.mail.Transport.send(Transport.java:144)
    at javax.mail.Transport.send(Transport.java:48)
    at com.bean.Email.main(Email.java:42)

也許是Java的答案:為什么SSL握手會產生“無法生成DH密鑰對”異常? 幫助您。 使用Java 1.7.08或更高版本應該可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM