none
SmtpClientを用いたメール送信でエラーが発生します RRS feed

  • 質問

  • 名前空間「System.Net.Mail」にある「SmtpClient」クラスを用いて、メール送信するサーバーページ(aspx)を作成しています。

    VWDの開発サーバーでテストすると、正常にメール送信に成功しますが、サーバーにアップロード(Webサイトのコピー)してテストすると、次のエラーが発生します。

    何か原因について思い当たることがありましたらアドバイスお願いします。ちなみに、SMTPサーバーは正常に動作しています。

    -----

    Mailbox unavailable. The server response was: Relay denied

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: Relay denied

    2007年3月3日 18:25

すべての返信

  • 正常にっていう定義があいまいですね、エラーメッセージを出しているから。
    Server の SMTP の設定で、「アクセス」に「中継の制限」があるので、「中継」をクリックして「以下のリストに含まれるコンピュータのみ」を選んで「127.0.0.1」を追加してください。
    プログラム的に SMTP を LocalHost としているのであればです。
    DNS 名を指定している場合は、その DNS 名から逆引きできる IP アドレスを入力してください。
    2007年3月3日 21:08
  • 説明不足ですみません。アプリケーションが置いてあるサーバーと、SMTPサーバーは別なんです。

    今まで、この構成でレガシーなASPアプリケーションを稼動させていたのですが、現在、ASP.NET 2.0にアップグレードしているところです。従来は、BASPを用いて次のようにメール送信していました。

     Set basp=Server.CreateObject("basp21")
     rc=basp.SendMail(SMTPサーバー名,宛先アドレス,送信元アドレス,サブジェクト,本文,添付ファイル)

    このアプリケーションでは現在もメール送信が機能しているということから、「SMTPサーバーは正常に動作している」と認識しているところです。また、旧版アプリと新版アプリは同じサーバー上に置いてあるため、SMTPの設定変更が必要になるとは考えにくいのですが・・・

    2007年3月4日 5:46
  • 別の SMTP を使っている、しかも新旧が同じサーバ上であるということでことを考えると、コーディング(SMTP サーバ指定)の問題では?
    可能であれば、その部分のソースを公開してください。
    2007年3月4日 9:36
  • 以下がソースコードです。ご覧のとおり大変シンプルです。

    <%@ Import Namespace="System.Net.Mail" %>

      ( 中 略 )

    Private Sub SendMail() 
        Dim MailFrom As String = "hogehoge@xxx.xx.xx"    ' 送信元のメールアドレス

        Dim MailTo As String = "gehogeho@xxx.xx.xx"        ' 宛先のメールアドレス
        Dim MailSubject As String = "Hello World"               ' メールのSubject
        Dim MailBody As String = "I am a boy."                   ' メール本文
        Dim SmtpClient As SmtpClient = New SmtpClient("smtp1.domain.net")    ' SMTPサーバー名
        SmtpClient.Send(MailFrom, MailTo, MailSubject, MailBody)
    End Sub

    2007年3月4日 13:07
    • アップロードしたサーバの名前
    • アップロードしたサーバのIPアドレス
    • SMTPのIPアドレス
    • SMTPサーバのリレーの設定

    とりあえず、これだけの情報を確認して提示してくださいな。

    2007年3月4日 15:01
  • 済みません。もしかすると、SMTPサーバーの認証の問題かもしれないので、もう少し調べて見ます。

    http://msdn2.microsoft.com/ja-jp/library/system.net.mail.smtpclient.usedefaultcredentials(VS.80).aspx

    http://msdn2.microsoft.com/ja-jp/library/system.net.mail.smtpclient.credentials(VS.80).aspx

    2007年3月4日 15:52
  •  ウォレス さんからの引用

    Mailbox unavailable. The server response was: Relay denied

     
    これって、発生している例外なんですよね。
    From に設定しているアドレスのタイプミスではないでしょうか?
     
    2007年3月5日 18:40