電話と同じネットワークでホストされているメールサーバーがありますが、例外が発生し続けますUnknow SMTP host
。もちろん、ホスト名のスペルが正しくない場合にこの例外が発生するといういくつかの場所を読みました。しかし、この場合はISです。次C#
のような簡単な方法で行われます。
var client = new SmtpClient(_strSmtpHost);
client.UseDefaultCredentials = true;
var mailMessage = new MailMessage(_strFrom, emailTo);
mailMessage.Subject = subject;
mailMessage.Attachments.Add(attachment);
client.Send(mailMessage);
そして、私のアプリケーションでは、このように行われます:
SendMail m = new SendMail("Username", "password");
String[] toArr = {"TO@EXAMPLE.com"};
m.setTo(toArr);
m.setFrom("FROM@EXAMPLE.com");
m.setSubject("This is an email sent using my Mail JavaMail wrapper from an Android device.");
m.setBody("Email body.");
try {
m.addAttachment(fileName);
if(m.send()) {
Log.i("MAIL SENDER: ", "Succesfully");
} else {
Log.i("MAIL SENDER: ", "UnSuccesfully");
}
} catch(Exception e) {
Log.e("MailApp", "Could not send email" + e);
}
私の SendMail クラスDNS
では、ホストのアドレスを含む文字列を定義します
_host = "napserver"; // default smtp server
_port = "25"; // default smtp port
接続を試みる前に、メールを送信するメールアドレスのユーザー名とパスワードを認証したい:
Session session = Session.getInstance(props, new GMailAuthenticator(_user, _pass));
そして、接続してメッセージを送信しようとしています
Transport transport = session.getTransport("smtp");
transport.connect(_host, 25, _user, _pass);
Transport.send(msg);
テスト目的でSMTP
、Gmail のアドレスを試してみたところ、これが機能し、指定されたメール アカウントにメールが送信されました。誰でもヒントを教えてもらえますか?
編集
また、ホストとポートTelnet
に接続したときに、このメールサーバーと PuTTy からの出力に接続しようとしたことにも言及する必要があります。napserver
25
220 napserver.nap01.dac.no.eu-admin.net Microsoft ESMTP MAIL Service, Version: 6 .0.3790.3959 ready at Tue, 7 Aug 2012 13:38:55 -0700
編集2
PuTTy の出力からわかるように:
Microsoft ESMTP MAIL Service
私のメールサーバーは ESMTP を使用していますが、私が知る限り、これはいくつかのセキュリティ層などを実装しているだけです。もしかして、ここがエラー?
編集3
リモートデスクトップ経由でメールサーバーにアクセスしようとしました.サーバーと電話が同じネットワーク上にあることを確認するために、電話のIPアドレスにpingを実行しました..