0

JavaMail API を使用して hotmail アカウントからメールを送信するための簡単な Java プログラムを作成しようとしています。これが私のコードです:

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 HotMailSend {
public static void main(String args[])
{
    final String username = HOTMAIL.username;
    final String password = HOTMAIL.password;

    Properties props = new Properties();
    props.setProperty("mail.smtp.auth", "true");
    props.setProperty("mail.smtp.starttls.enable", "true");
    props.setProperty("mail.smtp.host", "smtp.live.com");
    props.setProperty("mail.smtp.port", "587");

    Session session = Session.getInstance(props,
      new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
      });

    try {

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress(HOTMAIL.username));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(GMAIL.username));
        message.setSubject("Testing Subject");
        message.setText("Hey Buddy..!!!,"
            + "\n\n No spam to my email, please!");

        Transport.send(message);

        System.out.println("Done");

    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }
}

}

そして、ここに私が得ているエラーがあります:

スレッド「メイン」での例外 java.lang.RuntimeException: javax.mail.MessagingException: コマンドを SMTP ホストに送信できません。ネストされた例外は次のとおりです: java.net.SocketException: HotMailSend.main(HotMailSend.java:45) でリモート ホストによって接続が閉じられました 原因: javax.mail.MessagingException: コマンドを SMTP ホストに送信できません。ネストされた例外は次のとおりです: java.net.SocketException: com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:2163) のリモート ホストによって接続が閉じられました com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java) :2150) com.sun.mail.smtp.SMTPTransport.close(SMTPTransport.java:1220) で javax.mail.Transport.send0(Transport.java:197) で javax.mail.Transport.send(Transport.java: 124) HotMailSend.main(HotMailSend.java:40) 原因: java.net.

4

2 に答える 2

1

以前に Hotmail で SMTP/Javamail を使用したことがあるので、間違いなく機能します。短時間に大量のメールを送信していませんか? (迷惑メール対策でメールをブロックしたり、迷惑メールフォルダに振り分ける場合もあると思います。)

于 2014-02-04T17:40:07.743 に答える
0

マイクロソフトからメッセージが届いている場合は、現在使用している電子メールを確認してください。

私と一緒にこの問題が発生し、それを探したところ、次の件名の電子メールが 1 通ありました。

自動メッセージを送信し続けることができるように、私が本当に人間であることを確認するように求められました。彼らは私の携帯電話にメッセージを送り、Java Mail を使って電子メールを送り続けることができました。

于 2017-01-06T17:00:19.977 に答える