ホーム>source

私は using System.Net.Mail; を使用しています

メールを送信するための次のコード

<前>ウィズウィズ

ホストのために私は MailMessage message = new MailMessage(); SmtpClient client = new SmtpClient(); // Set the sender's address message.From = new MailAddress("fromAddress"); // Allow multiple "To" addresses to be separated by a semi-colon if (toAddress.Trim().Length > 0) { foreach (string addr in toAddress.Split(';')) { message.To.Add(new MailAddress(addr)); } } // Allow multiple "Cc" addresses to be separated by a semi-colon if (ccAddress.Trim().Length > 0) { foreach (string addr in ccAddress.Split(';')) { message.CC.Add(new MailAddress(addr)); } } // Set the subject and message body text message.Subject = subject; message.Body = messageBody; // Set the SMTP server to be used to send the message client.Host = "YourMailServer"; // Send the e-mail message client.Send(message); を提供しています

このため、エラーでその落下

ウィズウィズ

そして私が client.Host = "localhost"; を使うとき

次のエラーが表示されます

ウィズウィズ

localhost経由でメールを送信できません。 私を助けてください、私はc#を初めて使用しますが、コードが間違っているところを修正してください。

No connection could be made because the target machine actively refused itsome_ip_address_here

あなたの答え
  • 解決した方法 # 1

    Gmail経由でメールを送信するために機能するいくつかのコードを次に示します(stackoverflowのどこかからのコード。ここにあるコードに似ています:Gmail:プログラムでメールを送信する方法):

    <前>ウィズウィズ

  • 解決した方法 # 2

    using (var client = new SmtpClient("smtp.gmail.com", 587) { Credentials = new NetworkCredential("yourmail@gmail.com", "yourpassword"), EnableSsl = true }) { client.Send("frommail@gmail.com", "tomail@gmail.com", "subject", message); } からメールを送信する場合  ローカルSMTPサーバーをセットアップする必要があります。

    Google(または独自のローカルSMTPを含む他のSMTPサーバー)経由でメールを送信するには、ユーザー名、パスワード、SSL設定を設定する必要があります-選択したSMTPサーバーで必要なすべての設定を行う必要があり、そのためのヘルプを読む必要があります。

    たとえば、Googleでは、SSL、ポート465または587、サーバー client.Host = "localhost" が必要であると述べています  そしてあなたのユーザー名とパスワード。

    このすべての値を.configファイルで割り当てることができます。

    ウィズウィズ
    

    または、使用する前にコードでSmtpClientに設定します。

    <前>ウィズウィズ

  • 解決した方法 # 3

    このコードを smtp.gmail.com 内に配置します  web.configファイル内

    ウィズウィズ
    

    次にバックエンドコード

    <前>ウィズウィズ

    このコードがお役に立てば幸いです。 :)

  • 解決した方法 # 4

    このLine..Dont Use Port And HostNameを使用します

    LocalClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

  • 解決した方法 # 5

    Gmailを他のアプリケーションから使用するにはアプリパスワードが必要になりました。このリンクをチェックします。私はそれを難し​​い方法で見つけなければなりませんでした。アプリパスワードを作成し、代わりにそれを使用するようにNetworkCredentialsを変更した後、メールを送信できました。

    <system.net> <mailSettings> <smtp> <network host="smtp.gmail.com" enableSsl="true" port="587" userName="yourname@gmail.com" password="password" /> </smtp> </mailSettings> </system.net>

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ エクスプレスルーターとルートNodejs