- PR -

メール送信について

投稿者投稿内容
ベル
会議室デビュー日: 2008/11/05
投稿数: 10
投稿日時: 2008-12-11 17:59
お世話になります。

以下、環境にてメール送信するプログラムを作成しています
IIS6.0
asp.net2005
windows2003サーバー

'MailMessageの作成
im msg As New System.Net.Mail.MailMessage()
msg.From = New System.Net.Mail.MailAddress("xxxxx@xxx.xxx", "xxx")
msg.To.Add(New System.Net.Mail.MailAddress("xxxxx@xxx.xxx", "xxx")
'件名
msg.Subject = "テスト"
'本文
msg.Body = "これはテストです"
Dim sc As New System.Net.Mail.SmtpClient("localhost")
'メッセージを送信する
sc.Send(msg)

今までは上記のプログラムにて問題なく送信ができていました。
ですが、今はエラーにて送信が出来なくなってしまいました。
原因としては今までは25番ポートが使用できたたのですがセキュリティ上の問題から
25番ポートを閉じることになりました。
担当者からは587番のポートを利用すれば出来るはずと言われ下記のように一部、プログラムを変更しました。
Dim sc As New System.Net.Mail.SmtpClient("localhost")

Dim sc As New System.Net.Mail.SmtpClient("localhost",587)

修正後、再度試しましたがやはりダメでした。
ログを調べたところ下記のようなエラーが出ていました。
次の理由により、リモート ドメイン 'xxx.com' へのメッセージの配信に失敗しました。
The connection was dropped by the remote host.
また送れなかったメールはC:\\Inetpub\\mailroot\\Queueフォルダに送られていました。

プログラム以外にもIISサーバー(SMTPサーバー)上で何か環境設定が必要なのでしょうか?
アドバイスを頂ければと思います。
よろしくお願いします。

[ メッセージ編集済み 編集者: ベル 編集日時 2008-12-15 16:51 ]
passol
常連さん
会議室デビュー日: 2008/12/12
投稿数: 20
投稿日時: 2008-12-12 16:30
passolと申します。

ざくっと適当なアドバイスで申し訳ないのですが、下記に記載致します。

引用:

修正後、再度試しましたがやはりダメでした。
ログを調べたところ下記のようなエラーが出ていました。
次の理由により、リモート ドメイン 'aeonmall.com' へのメッセージの配信に失敗しました。
The connection was dropped by the remote host.
また送れなかったメールはC:\\\\\\\\Inetpub\\\\\\\\mailroot\\\\\\\\Queueフォルダに送られていました。

プログラム以外にもIISサーバー(SMTPサーバー)上で何か環境設定が必要なのでしょうか?



必要です。
参考URLです。
http://msdn.microsoft.com/ja-jp/library/8b83ac7t(VS.80).aspx
(「既定の設定」の項に記載されている情報が知りたい情報なのではと思います。)

(以下、嘘つき解説なので信用しないでください。)
IISとかに関わらず、サーバー(提供する側,HTTPとかSMTPとかPOPとか)はポート(アパートの部屋番号みたいなもの?)を持っていて、そのポートは各サーバーによって違っていたりします。
で、サーバーは融通がきかないし用心深いので、クライアントが正しいポートに聞きに来ないと、部屋から出てこないのです。

今回の場合は、ポート(部屋番号)が違う所に尋ねているのでクライアントが迷子になっている状態なので、サーバーさんを25番ポートから587番ポートに引っ越しさせてあげれば多分解決すると思います。
ベル
会議室デビュー日: 2008/11/05
投稿数: 10
投稿日時: 2008-12-12 18:34
passolさん、ありがとうございます。

参考Urlより指定されたとおり設定をしました。
smtp仮想サーバーを右クリック→プロパティ→全般→詳細設定の画面で以下の通り追加
IPアドレス:未使用のIPアドレス全て
TCPポート:587番を追加
上記、設定の上、再度実行しましたがやはりエラーとなりました。

"メールボックスが使用できません。
サーバーの応答: 5.7.1 Unable to relay for xxxxx@xxx.xxx"

他、何か必要なのでしょうか。
注意することがあればお教えください。


どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-12-12 18:59
> サーバーの応答: 5.7.1 Unable to relay for xxxxx@xxx.xxx

SMTPサーバの設定がrelay禁止になってるんじゃないですか?
passol
常連さん
会議室デビュー日: 2008/12/12
投稿数: 20
投稿日時: 2008-12-12 19:52
どっとねっとふぁんさんの投稿でもう解決されてるかもしれませんが・・・

どっとねっとふぁんさんの引用
引用:

> サーバーの応答: 5.7.1 Unable to relay for xxxxx@xxx.xxx

SMTPサーバの設定がrelay禁止になってるんじゃないですか?



上記の参考URLです。
http://support.microsoft.com/kb/230235/ja
http://www.atmarkit.co.jp/fwin2k/win2ktips/954smtplrelay/smtplrelay.html
ベル
会議室デビュー日: 2008/11/05
投稿数: 10
投稿日時: 2008-12-13 01:47
passolさん、どっとねっとふぁんさん
ありがとうございます。
月曜日に試してみます。
結果また報告いたします。
ベル
会議室デビュー日: 2008/11/05
投稿数: 10
投稿日時: 2008-12-15 16:01
お世話になります。

教えてもらった手順に従い設定をしたのですがやはりだめでした。

作業は自身が使用しているサーバーのIIS(SMTPサーバー)上で以下の通り設定しました。
「中継の制限」の画面にて
1.以下のリストに含まれるコンピュータのみを選択
2.上のコンピュータのリストに関係なく正しく承認さえたすべてのコンピュータを中継に
  使用するのチェックを入れる。
  *一覧には特にコンピュータを指定しない
   ただSMTPサーバーを追加して確認もしました。

「配信サーバータブ」⇒送信接続⇒TCPポートに「587」を指定。

上記設定の上、確認しましたがやはりダメでした。
この設定ではいけないのでしょうか?
再度、管理者にどう変更したのか確認をしてみますが勘違いなどで設定が
間違えているようでしたら指摘願います。



passol
常連さん
会議室デビュー日: 2008/12/12
投稿数: 20
投稿日時: 2008-12-17 11:01
ベルさん返答が遅かったので、もう解決されてるかもしれませんが、
以下、参考URLです。

http://techno-st.net/2006/10/04/outbound-port25-blocking.html

中継用サーバーの設定が必要みたいです。

[ メッセージ編集済み 編集者: passol 編集日時 2008-12-17 11:08 ]

スキルアップ/キャリアアップ(JOB@IT)