1

我想从雅虎发送电子邮件到雅虎 bt 发送失败。我用网络收到。请查看我的代码凭据。没有异常或错误,但是当打开邮箱时,没有电子邮件。我使用了一个labelwhich show succesfull 文本,但当时它没有显示成功。

.aspx 代码:

<form id="form1" runat="server">

    Message from: <asp:TextBox ID="text1" runat="server"></asp:TextBox>
    Message To: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    Message subject: <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>

   <asp:Button ID="b1" runat="server" OnClick="click" />

   <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</form>

.aspx.cs:

public void click(object sender, EventArgs e)
{
    try
    {
         //mail message
         MailMessage mM = new MailMessage();

         //Mail Address
         mM.From = new MailAddress(text1.Text);

         //emailid to send
         mM.To.Add(TextBox1.Text);

         //your subject line of the message
         mM.Subject = "your subject line will go here.";

         //now attached the file
         //mM.Attachments.Add(new Attachment(@"C:\\attachedfile.jpg"));

         //add the body of the email
         mM.Body = "Your Body of the email.";
         mM.IsBodyHtml = false;

         //SMTP 
         SmtpClient SmtpServer = new SmtpClient();

         //your credential will go here
         SmtpServer.Credentials = new 

         System.Net.NetworkCredential("username", "password");

         //port number to login yahoo server
         SmtpServer.Port = 587;

         //yahoo host name
         SmtpServer.Host = "smtp.mail.yahoo.com";
         SmtpServer.EnableSsl = true;

         SmtpServer.Send(mM);
         Label1.Text = "successfull";
         //Send the email

         //end of try block
         //end of catch
     }
     catch(Exception ee){
         Console.Write(ee);
     }
}
4

1 回答 1

0

我不认为代码本身有问题。我几乎使用与您相同的代码,并且效果很好。

我认为您的设置有问题,请检查:

  1. 如果 TextBox1 中收件人的电子邮件地址已经存在
  2. 如果凭据的用户名和密码都正确

而且我没有在我的代码中设置 Port 属性。如果一切正常。请在此处显示您的异常信息。

于 2012-09-14T08:28:00.670 回答