web-dev-qa-db-ja.com

アクセス許可によって禁止されている方法でソケットにアクセスしようとしました

SMTP googleのサーバーを使用して、連絡フォームからメールを送信しています。ローカルサーバーでは正常に機能しますが、ウェブサーバーではこのエラーが表示されます。最初に、ポート番号を使用しました587エラー「セキュリティ例外」とエラーは行using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber))にありましたが、ポートを25に変更したため、この新しいエラーが行に表示されます。

smtp.Send(mail);

説明

現在のWeb要求の実行中に、未処理の例外が発生しました。エラーの詳細とコードの発生場所については、スタックトレースを確認してください。

例外の詳細

System.Net.Sockets.SocketException:アクセス許可によって禁止されている方法でソケットにアクセスしようとしました74.125.206.108:25

私のコードは:

protected void send_Click(object sender, EventArgs e)
{
    string smtpAddress = "smtp.gmail.com";
    int portNumber = 25;
    bool enableSSL = true;

    string emailfrom = "[email protected]";
    string password = "******";
    string subject = "Contact Form Data";
    string emailto = "[email protected]";
    string name = n.Value;       
    string useremail = em.Value;
    string phone = tel.Value;
    string dept = dep.Value;
    string dest = des.Value;
    string adu = ad.Value;

    string msg = mes.Value;
    string body = "Name: " + name + " ;" + " Email: " + useremail + " ;" + "Telephone: " + phone + " ;" + " Departure Place: " + dept + " ;" + "Destination Place: " + dest + " ;" + " Adults: " + adu + " ;" + " ;" + "Children: " + chil + " ;" + "Message: " + msg + " ;";

    using (MailMessage mail = new MailMessage())
    {
        mail.From = new MailAddress(emailfrom);
        mail.To.Add(emailto);
        mail.Subject = subject;
        mail.Body = body;
        mail.IsBodyHtml = true;

        using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber))
        {
            smtp.Credentials = new NetworkCredential(emailfrom, password);
            smtp.EnableSsl = enableSSL;
            smtp.Send(mail);
        }
    }
}

スタックトレース

[SocketException(0x271d):アクセス許可によって禁止されている方法でソケットにアクセスしようとしました74.125.206.108:25] System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot、SocketAddress socketAddress)+ 208System.Net。 ServicePoint.ConnectSocketInternal(Boolean connectFailure、Socket s4、Socket s6、Socket&socket、IPAddress&address、ConnectSocketState state、IAsyncResult asyncResult、Exception&exception)+464

[WebException:リモートサーバーに接続できません] System.Net.ServicePoint.GetConnection(PooledStream PooledStream、Object owner、Boolean async、IPAddress&address、Socket&abortSocket、Socket&abortSocket6)+6662436 System.Net.PooledStream.Activate(Object owningObject、ブール非同期、GeneralAsyncDelegate asyncCallback)+307 System.Net.PooledStream.Activate(Object ownerObject、GeneralAsyncDelegate asyncCallback)+19 System.Net.ConnectionPool.GetConnection(Object owningObject、GeneralAsyncDelegate asyncCallback、Int32 CreationTimeout)+324 System.Net.Mail.SmtpConnection .GetConnection(ServicePoint servicePoint)+141 System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint)+170 System.Net.Mail.SmtpClient.GetConnection()+ 44 System.Net.Mail.SmtpClient.Send(MailMessage message)+ 1554年

[SmtpException:メールの送信に失敗しました。] System.Net.Mail.SmtpClient.Send(MailMessage message)+1906 Contact.send_Click(Object sender、EventArgs e)in\smb-whst-www02\whst_www02 $\ff8b1b\user\medviewair。 uk\web\Contact.aspx.cs:51 System.Web.UI.WebControls.Button.OnClick(EventArgs e)+9628462 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)+103 System.Web.UI .WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)+10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl、String eventArgument)+13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData )+35 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint、Boolean includeStagesAfterAsyncPoint)+1724

4
Umair Ahmad

Webサーバーが適切に構成され、稼働していることを確認してください。

アプリケーションが例外をスローしている場合は、以下の手順に従ってください

  1. 「スタート」->「コントロールパネル」に移動します
  2. 「Windowsファイアウォール」をクリックします enter image description here

  3. Windowsファイアウォール内で、[Windowsファイアウォールを介してプログラムまたは機能を許可する]をクリックします enter image description here

  4. [プログラムを許可]内で、[設定の変更]ボタンをクリックします。 [設定の変更]ボタンをクリックすると、[別のプログラムを許可する...]ボタンが有効になります。 enter image description here

  5. [別のプログラムを許可する...]ボタンをクリックすると、新しいダイアログボックスが開きます。ソケット例外が発生するプログラムまたはアプリケーションを選択し、[追加]ボタンをクリックします。 enter image description here 6。 [OK]をクリックして、マシンを再起動します。

  6. 管理者権限でアプリケーション(例外があります)を実行してみてください。

これがお役に立てば幸いです。

平和、

サニーマコデ

2
Sunny656

マカフィーを無効にしましたが、動作しました。確かにファイアウォールまたはウイルス対策の設定です。

1
Nilay

Kaspersky EndpointSecurityアンチウイルスを無効にする必要がありました

0