it-swarm-tr.com

SMTP Ana Bilgisayarına bağlanılamadı: smtp.gmail.com, bağlantı noktası: 465, yanıt: -1

posta gönderirken bu hatayı alıyorum

Java.lang.RuntimeException: javax.mail.SendFailedException: Gönderiliyor başarısız oldu; iç içe istisna: sınıf javax.mail.MessagingException: SMTP Ana Bilgisayarına bağlanılamadı: smtp.gmail.com, bağlantı noktası: 465, yanıt: -1

benim kodum:

Properties props = new Properties();
props.put("mail.smtp.Host", "smtp.gmail.com");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.socketFactory.port", "465");
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("email","password");
                }
        });

try {

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress("email"));
        message.setRecipients(Message.RecipientType.TO,
                        InternetAddress.parse(this.to));
        message.setSubject("Testing");
        message.setText("Hey, this is the testing email.");



        Transport.send(message);

Herhangi bir yardım takdir edilecektir.

Şimdiden teşekkürler.

18
user1900376

SSL kullandığınızı söylemeniz gerekir:

props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

Herhangi bir şeyi kaçırmanız durumunda işte çalışma kodu

String  d_email = "[email protected]",
            d_uname = "Name",
            d_password = "urpassword",
            d_Host = "smtp.gmail.com",
            d_port  = "465",
            m_to = "[email protected]",
            m_subject = "Indoors Readable File: " + params[0].getName(),
            m_text = "This message is from Indoor Positioning App. Required file(s) are attached.";
    Properties props = new Properties();
    props.put("mail.smtp.user", d_email);
    props.put("mail.smtp.Host", d_Host);
    props.put("mail.smtp.port", d_port);
    props.put("mail.smtp.starttls.enable","true");
    props.put("mail.smtp.debug", "true");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.socketFactory.port", d_port);
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.socketFactory.fallback", "false");

    SMTPAuthenticator auth = new SMTPAuthenticator();
    Session session = Session.getInstance(props, auth);
    session.setDebug(true);

    MimeMessage msg = new MimeMessage(session);
    try {
        msg.setSubject(m_subject);
        msg.setFrom(new InternetAddress(d_email));
        msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to));

Transport transport = session.getTransport("smtps");
            transport.connect(d_Host, Integer.valueOf(d_port), d_uname, d_password);
            transport.sendMessage(msg, msg.getAllRecipients());
            transport.close();

        } catch (AddressException e) {
            e.printStackTrace();
            return false;
        } catch (MessagingException e) {
            e.printStackTrace();
            return false;
        }
13
M. Usman Khan

NetBeans kullanarak hata ayıklama yaparken, hatta gerçek jar dosyasını çalıştırırken bu sorunu yaşıyorum. Antivirüs e-posta göndermeyi engeller. Hata ayıklama sırasında virüsten koruma yazılımınızı geçici olarak devre dışı bırakmanız veya NetBeans ile gerçek jar dosyasının taranmasını engellemeniz gerekir. Benim durumumda Avast kullanıyorum. 

Nasıl Hariç Tutulacağı ile ilgili şu bağlantıya bakın: avast! A Dosya/Web Sitesi İstisnası Nasıl Eklenir? Antivirus 2014

Bu benim için çalışıyor.

6
ronIT

Yaptığım şey yorumladı. 

props.put("mail.smtp.starttls.enable","true"); 

Çünkü görünüşe göre G-posta için ihtiyacın yoktu. O zaman bunu henüz yapmadıysanız, programınız için G-posta'da bir uygulama şifresi oluşturmanız gerekir. Bunu yaptım ve mükemmel çalıştı. İşte bu bağlantı size nasıl: https://support.google.com/accounts/answer/185833

1
MesamH

Benim durumumda Avast Antivirus bağlantıya müdahale ediyordu . Bu özelliği devre dışı bırakma eylemleri: Avast -> Ayarlar-> Bileşenler -> Mail Shield (Özelleştir) -> SSL tarama -> "SSL bağlantılarını tara" seçeneğinin işaretini kaldırın . 

0
Tipxbomb

465 numaralı bağlantı noktası "SSL üzerinden smtp" içindir.

http://javamail.kenai.com/nonav/javadocs/com/Sun/mail/smtp/package-summary.html

[...] For example, use
    props.put("mail.smtp.port", "888");
to set the mail.smtp.port property, which is of type int.

Note that if you're using the "smtps" protocol to access SMTP over SSL, 
all the properties would be named "mail.smtps.*"
0
AnFi