3

次の例をダウンロードしました。

https://app.box.com/shared/etj0lts287r5lc1hqeex

jarファイルを直接実行すると、完全に機能しました。しかし、Netbeans 7.0 を使用してプロジェクトを実行すると、エラーがスローされます。

error: could not connect to SMTP host:smtp.gmail.com,port:465

問題は何ですか?

これはボタンアクション実行時の私のコードです private void sendButtonActionPerformed(java.awt.event.ActionEvent evt) {

    boolean isSent = true;

    try {

    Properties properties = new Properties();
properties.setProperty("mail.smtp.submitter", txtfrom.getText());
properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.smtp.host", txthostName.getText());    
    properties.put("mail.smtp.user", txtfrom.getText());
    properties.put("mail.smtp.port", txtPort.getText());
    properties.put("mail.smtp.socketFactory.port", txtPort.getText());
    properties.put("mail.smtp.starttls.enable","true");
    properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    properties.put("mail.smtp.socketFactory.fallback", "false");


    Authenticator mailAuthenticator = new MailAuthenticator();
Session mailSession = Session.getDefaultInstance(properties,mailAuthenticator);
    Message message = new MimeMessage(mailSession);

    Transport transport = mailSession.getTransport("smtps");
    transport.connect("smtp.gmail.com",465,"abc@gmail.com","12345");

    InternetAddress fromAddress = new InternetAddress(txtfrom.getText());
    InternetAddress toAddress = new InternetAddress(txtto.getText());

    message.setFrom(fromAddress);
    message.setRecipient(RecipientType.TO, toAddress);

    message.setSubject(txtsubject.getText());
    message.setText(txtcontent.getText());

    Transport.send(message);

    } catch (Exception e) {
        lblInfo.setText("ERROR:" + e.getMessage());            
        isSent = false;
    }

    if(isSent == true) {
        sendButton.setEnabled(false);
        lblInfo.setText("Your e-mail has been sent."); 
    } 

}     
4

2 に答える 2

0

コードに次の変更を加えることを検討してください。

// "smtps" を使用 :)

transport = mailSession.getTransport("smtps");

// ポート 465 は認証に機能し、gmail、yahoo ホストで解決されましたtransport.connect("smtp.gmail.com",465,"myid","password");

于 2013-10-24T13:23:13.660 に答える