-2

メールページセクションを作成しようとしていますが、このフォーラムで記事と回答の1つを見つけました。これは以下のコードで使用しましたが、それでもメールの送信に失敗しました。以下のコードでメールを送信できない理由を解決するための支援が必要です。参考までに、以下のコードを参照してください。アドバイスしてください...ありがとう。

protected void Button1_Click(object sender, EventArgs e)
{

SmtpClient client = new SmtpClient();

        client.Host = "smtp.live.com"; //Im not sure about this,I just copy it from the article
        client.Port = 4548; //This is my ASP.Net Development Server Port,Im not sure also if this is correct.

        client.Credentials = new System.Net.NetworkCredential(
            @"email_account",
            @"email_password"); //Im not sure about this code if this correct, I just copy it


        client.EnableSsl = true;

        // create message
        MailMessage message = new MailMessage();
        message.From = new MailAddress(TextBox4.Text, "Mackmellow"); //Textbox4 is my email address
        message.To.Add(new MailAddress(TextBox1.Text, "Mackmellow")); // Textbox1 is the email add I want to send
        message.Subject = TextBox2.Text; //Textbox2 is my subject
        message.Body = TextBox3.Text; // Textbox3 is my message
        message.BodyEncoding = System.Text.Encoding.UTF8;
        message.IsBodyHtml = true;

        message.SubjectEncoding = System.Text.Encoding.UTF8;


        // send message
        try
        {
            client.Send(message);


        }
        catch (SmtpException ex)
        {

            Response.Write(ex.Message);
        }
        finally
        {
            // Clean up.
            message.Dispose();
        }

コードを修正して、何が欠けているか教えてください。前もって感謝します...

4

3 に答える 3

2

メールを送信するために、開発サーバーのポートを使用することはできません。

メール サーバーの smtp サーバー ポートを使用する必要があります。

smtp.live.com の場合、ポート 25 または 587 のいずれかを使用する必要があります

以下のこのコードでは、有効なログイン情報 (電子メール/パスワード) を指定してください

  client.Credentials = new System.Net.NetworkCredential(
            @"email_account",
            @"email_password");
于 2013-03-28T18:37:21.933 に答える
0

G-mail アカウント ID のみを入力してください。チェックします。SmtpClient他のドメインのメールアドレスは受け付けていないと思います。ですから、アドレスだけを入れて gmailチェックすることができます。

編集

このサンプルとその他の回答を参照してください。

Asp.Net/C# からのメール送信エラー

asp.netでyahoo、gmail、hotmailなどの宛先に電子メールを送信する方法c#コード

于 2013-03-28T19:41:59.450 に答える
-2

これを試して。

SmtpClient SmtpServer = new SmtpClient("smtp.live.com");
    var mail = new MailMessage();
    mail.From = new MailAddress("email@hotmail.com");
    mail.To.Add("ToGmail.com");
    mail.Subject = "Your Sub";
    mail.IsBodyHtml = true;
    string htmlBody;
    htmlBody = "HTML code";
    mail.Body = htmlBody;
    SmtpServer.Port = 587;
    SmtpServer.UseDefaultCredentials = false;
    SmtpServer.Credentials = new System.Net.NetworkCredential("email@hotmail.com", "YourPassword");
    SmtpServer.EnableSsl = true;
    SmtpServer.Send(mail);
于 2013-03-28T18:36:58.687 に答える