トップ回答者
System.Net.Mail で携帯へメールができません。

質問
-
下記のようにコーディングし
パソコンへのメールは問題なくできるのですが、携帯(今のところAUだけ)へメールしようとすると
メールボックス名は許可されていません。
サーバーの応答: 5.7.1 sorry, that domain isn't in my list of allowed rcpthosts (chkuser)
となります。
Dim MAILto As MailAddress = New MailAddress("xxx@ezweb.ne.jp")
Dim MAILmsg As String
Dim MailFrom As MailAddress = New MailAddress("xxxx@xxxx.net")
Dim MailMain As MailMessage = New MailMessage(MailFrom, MAILto)With MailMain
.Subject = "メール送信"
.SubjectEncoding = System.Text.Encoding.GetEncoding("shift_JIS")
MAILmsg = "ご利用ありがとうございます。" & vbCrLf & _
"※このメッセージに返信しないで下さい。"
.Body = MAILmsg
.BodyEncoding = System.Text.Encoding.GetEncoding("Shift_JIS")
End WithDim myMail As SmtpClient = New SmtpClient("smtp.xxxx.net")
Try
myMail.Send(MailMain)
myMail.Timeout = 15
Catch ex As Exception
Response.Write(ex.Message)
Response.End()
End Tryわかる方いらっしゃいましたら、どうかよろしくお願いします。
回答
-
外池と申します。
エラーメッセージの全体像がよくわからないので、あまりハッキリとは申し上げられませんが、おそらく、プログラムの問題ではないと思います。AUのメールのシステムの入り口を守っているサーバーが、貴方が使おうとしているsmtpサーバー"smtp.xxxx.net"を信頼していなくて、smtp.xxxx.netから転送されてくる貴方のメールを受け取ることを拒否しているのではないかと・・・。
この場合、smtpサーバーをよく信頼してもらえるように処置する(携帯電話会社にも認知してもらえるようにする)ことが大切かと思います。
あるいは、普段利用している大手のネットワークプロバイダーのsmtpサーバーへの接続ができるようであれば、それを利用されてはいかがですか?
ちょっと、想像してみてください・・・。こういう機能のプログラムがあれば、どんなことが可能か? ですので、最近はsmtpサーバー同士の信頼関係がないと(お互いに認知していないと)メールが通じないことは良くあることです。
-
外池です。うーん・・・・。
maria-mamaさんが再度、ここのページをご覧になるかどうかわかりませんが、一応、念のために申し上げておきます。
もし、どこかの不特定な会社のsmtpサーバーをご利用になる解決策を採られたならば、そのような方法でのメールの送信は、やめて頂くように、お願いします。私は、決してそのような解決策を提案したわけではありません。
貴方が独自で管理するsmtpサーバーを立ち上げて、信頼されるものにするか、
あるいは、契約により機能を借り受ける等の形をとって、smtpサーバーの所有者(管理者)と貴方との間で、使用方法について了解を成立させるようにしてください。
-
ご回答ありがとうございます。
少し調べてみましたが、sorry, that domain isn't in my list of allowed rcpthostsというメッセージはSMTP認証をしていなかった時によく出るメッセージのようです。smtp.xxxx.netには、例えばPOP before SMTPなどが必要だったりしませんでしょうか? ただ、これだとなぜパソコンメールへは送れたのかという疑問が残ります。ひょっとして、パソコンメールは自ドメイン宛てへのメールだったのでしょうか? 自ドメインからは何らかの理由でSMTP認証を行う必要がないのかもしれません。(以前、私もそのように設定したことがあります)
以上のことは一つの可能性ですので、的を外しているかもしれません。その際はごめんなさい。
また、sorry, that domain isn't in my list of allowed rcpthostsというメッセージが送信アプリケーションで表示されるのであれば、ほぼ間違いなくsmtp.xxxx.netからの応答ですから、必要であればこのサーバーの管理者にお問い合わせされたらいかがかと思います。
(参考)
メールを送信しようとすると、「553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)」というエラーが表示され、メールが送信出来ません。
http://web.arena.ne.jp/suite2/faq/014_16.html送信ができません(受信は可能)
http://sb.xrea.com/archive/index.php/t-6288.html
すべての返信
-
外池と申します。
エラーメッセージの全体像がよくわからないので、あまりハッキリとは申し上げられませんが、おそらく、プログラムの問題ではないと思います。AUのメールのシステムの入り口を守っているサーバーが、貴方が使おうとしているsmtpサーバー"smtp.xxxx.net"を信頼していなくて、smtp.xxxx.netから転送されてくる貴方のメールを受け取ることを拒否しているのではないかと・・・。
この場合、smtpサーバーをよく信頼してもらえるように処置する(携帯電話会社にも認知してもらえるようにする)ことが大切かと思います。
あるいは、普段利用している大手のネットワークプロバイダーのsmtpサーバーへの接続ができるようであれば、それを利用されてはいかがですか?
ちょっと、想像してみてください・・・。こういう機能のプログラムがあれば、どんなことが可能か? ですので、最近はsmtpサーバー同士の信頼関係がないと(お互いに認知していないと)メールが通じないことは良くあることです。
-
外池です。うーん・・・・。
maria-mamaさんが再度、ここのページをご覧になるかどうかわかりませんが、一応、念のために申し上げておきます。
もし、どこかの不特定な会社のsmtpサーバーをご利用になる解決策を採られたならば、そのような方法でのメールの送信は、やめて頂くように、お願いします。私は、決してそのような解決策を提案したわけではありません。
貴方が独自で管理するsmtpサーバーを立ち上げて、信頼されるものにするか、
あるいは、契約により機能を借り受ける等の形をとって、smtpサーバーの所有者(管理者)と貴方との間で、使用方法について了解を成立させるようにしてください。
-
>もし、どこかの不特定な会社のsmtpサーバーをご利用になる解決策を採られたならば、そのような方法でのメールの送信は、やめて頂くように、お願いします。私は、決してそのような解決策を提案したわけではありません。
>貴方が独自で管理するsmtpサーバーを立ち上げて、信頼されるものにするか、
>あるいは、契約により機能を借り受ける等の形をとって、smtpサーバーの所有者(管理者)と貴方との間で、使用方法について了解を成立させるようにしてください。
外池様
ご指摘ありがとうございます。
不特定な会社のsmtpサーバーを使用するのではなく
弊社で正式に契約しているものを使用します。
今後は、使用方法について、サーバーの所有者の了解を得る方向で進めていきたいと
考えております。
-
下記の通りに変更しただけですが。。。
何か問題がありましたら、ご指摘下さい。
Dim MAILto As MailAddress = New MailAddress("xxx@ezweb.ne.jp")
Dim MAILmsg As String
Dim MailFrom As MailAddress = New MailAddress("xxxx@xxxx.net")
Dim MailMain As MailMessage = New MailMessage(MailFrom, MAILto)With MailMain
.Subject = "メール送信"
.SubjectEncoding = System.Text.Encoding.GetEncoding("shift_JIS")
MAILmsg = "ご利用ありがとうございます。" & vbCrLf & _
"※このメッセージに返信しないで下さい。"
.Body = MAILmsg
.BodyEncoding = System.Text.Encoding.GetEncoding("Shift_JIS")
End WithDim myMail As SmtpClient = New SmtpClient("smtp.xxxx.net")
↑この部分を↓に修正
Dim myMail as Smtpclient = New SmtpClient("mail.xxx.co.jp")
Try
myMail.Send(MailMain)
myMail.Timeout = 15
Catch ex As Exception
Response.Write(ex.Message)
Response.End()
End Try -
ご回答ありがとうございます。
少し調べてみましたが、sorry, that domain isn't in my list of allowed rcpthostsというメッセージはSMTP認証をしていなかった時によく出るメッセージのようです。smtp.xxxx.netには、例えばPOP before SMTPなどが必要だったりしませんでしょうか? ただ、これだとなぜパソコンメールへは送れたのかという疑問が残ります。ひょっとして、パソコンメールは自ドメイン宛てへのメールだったのでしょうか? 自ドメインからは何らかの理由でSMTP認証を行う必要がないのかもしれません。(以前、私もそのように設定したことがあります)
以上のことは一つの可能性ですので、的を外しているかもしれません。その際はごめんなさい。
また、sorry, that domain isn't in my list of allowed rcpthostsというメッセージが送信アプリケーションで表示されるのであれば、ほぼ間違いなくsmtp.xxxx.netからの応答ですから、必要であればこのサーバーの管理者にお問い合わせされたらいかがかと思います。
(参考)
メールを送信しようとすると、「553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)」というエラーが表示され、メールが送信出来ません。
http://web.arena.ne.jp/suite2/faq/014_16.html送信ができません(受信は可能)
http://sb.xrea.com/archive/index.php/t-6288.html -
こんにちは。中川俊輔 です。
外池さん、trapemiyaさん、回答ありがとうございます。
maria-mamaさん、フォーラムのご利用ありがとうございます。
有用な情報と思われたため、
勝手ながら外池さん、trapemiyaさんの回答へ回答済みチェックをつけさせていただきました。
回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
有用な情報と思われる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。maria-mamaさんはチェックを解除することもできますので、ご確認ください。
それでは!