【解決方法】パスワードなしでメールを送信


皆さんこんにちは、

アプリケーションでユーザーにメールを送信する必要があるプロジェクトに取り組んでいました。以下のようにasp.netコードを使用しました

public static bool SendEmail(文字列の送信者、文字列のパスワード、文字列の受信者、文字列のメッセージ、文字列の件名)
{
試す
{
MailMessage mailMessage = new MailMessage(送信者、受信者);
mailMessage.件名 = 件名;
//メール本文の追加
mailMessage.Body = メッセージ;
mailMessage.IsBodyHtml = true;
SmtpClient smtpClient = new SmtpClient();
smtpClient.Host = “smtp.gmail.com”;
smtpClient.Port = 25;
smtpClient.Credentials = 新しい System.Net.NetworkCredential(送信者、パスワード);
smtpClient.EnableSsl = true;
smtpClient.Send(メールメッセージ);
true を返します。
}
キャッチ
{
false を返します。
}
}

ここでは、送信者のユーザー名とパスワードをパラメーターとして渡す必要があります。
ユーザーがパスワードを教えてくれないので、ユーザーのパスワードを持っていない場合はどうなりますか。
アプリケーションで、パスワードを要求することなく、任意の送信者から任意の受信者に電子メールを送信したいと考えています。
私はそれを行ういくつかのphpスニペットを見てきました…しかし、もしphpができるなら…それなら私のドットネットも私のためにそれをするべきだと私は信じています。
送信者のパスワードなしで電子メールを送信する方法を知っている人がいたら、教えてください。

前もって感謝します。
スニル・マリ。

解決策 2

やあ!!! スニル!! はい、以下のIPアドレスからこれを行う必要があります。コードを使用してください。 このパスワードには必要ありません,,,,

C#
protected void btnsubmit_Click1(object sender, EventArgs e)
   {
       try
       {

              System.Web.Mail.MailMessage Msg = new System.Web.Mail.MailMessage();
              // Sender e-mail address.
              Msg.From = txtemail.Text;
             // Recipient e-mail address.
              Msg.To = "info@user.com";
              Msg.Subject = "Enquiry";
              Msg.Body = "Name : " + txtname.Text + "\n" + "Mobile : " + txtsubject.Text + "\n" + "Query : " + txtmsg.Text;
              // your remote SMTP server IP.
             SmtpMail.SmtpServer = "67.225.221.112";//your ip address
             SmtpMail.Send(Msg);
             Msg = null;
            Page.RegisterStartupScript("UserMsg", "<script>alert('Mail sent thank you...');if(alert){ window.location='contactus.aspx';}</script>");

            txtemail.Text = "";
            txtmsg.Text = "";
            txtname.Text = "";
            txtsubject.Text = "";
          }
           catch (Exception ex)
            {
                Page.RegisterStartupScript("UserMsg", "<script>alert('Mail not sent ');if(alert){ window.location='page.aspx';}</script>");
            }

   }

解決策 1

やあ、

コード スニペットは gmail smtp で動作しています。
Exchange サーバーで作業していると仮定すると、コードを次のように変更できます。

前:

C#
smtpClient.Credentials = new System.Net.NetworkCredential(sender, password);

後:

C#
smtpClient.Credentials = System.Net.CredentialCache.DefaultCredentials;

gmail smtp では、この解決策は機能しません。

おそらく、呼び出しを行う前にユーザー アカウントを偽装する必要があります。そうしないと、資格情報は asp.net プロセスから取得されます。

解決策 3

皆さん、ありがとうございました、
Shubham 様と aspnet_regiis 様、
ネットワーク管理者の助けを借りて、マシンの 1 つで smtp を構成しました。
彼は私に 1 つの IP アドレスをくれたので、私はそれをメールの送信に使用しました….
その送信メール…制限はありません(gmailサーバー経由で送信する場合と同様に、1日に500通のメールしか送信できません)…そしてgmailアカウントからのみ… . 私のサーバーを介して送信するのはiis smtpです….送信者として任意の電子メールを作成し、必要な人に送信できます…そしてパスワードも….
だから私は彼らに電子メールを送信するという私の仕事を達成しました….明らかにあなたの助けが私たちのサーバーの1つでsmtpを実行するきっかけになりました…私は彼らから静的IPを取得しました…そして私はコードを介して電子メールを送信しました…
皆さん、ありがとうございました….

よろしく、
スニル・マリ。

コメント

タイトルとURLをコピーしました