C#里面的net.mail发送邮件总是失败

2025-03-03 19:05:07
推荐回答(3个)
回答1:

代码示例:
/// 
    /// NetMail方式测试通过
    /// 

    private void TestSend()
    {
        System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage();
        //收件人地址
        mm.To.Add(new System.Net.Mail.MailAddress("xxxxxx@163.com", "Name"));
        //发件人地址
        mm.From = new System.Net.Mail.MailAddress("xxxxx@sina.com");
        //这个可以不指定
        //mm.Sender = new System.Net.Mail.MailAddress("xxx@sina.com", "SenderName");、
        mm.Subject = "This is Test Email";
        mm.Body = "

This is Testing SMTP Mail Send By Me

";
        mm.IsBodyHtml = true;
        mm.Priority = System.Net.Mail.MailPriority.High; // 设置发送邮件的优先级
        System.Net.Mail.SmtpClient smtCliend = new System.Net.Mail.SmtpClient();
        //指定邮件服务器
        smtCliend.Host = "smtp.sina.com";
        //smtp邮件服务器的端口号  
        smtCliend.Port = 25;   
        //设置发件人邮箱的用户名和地址,使用公共邮件服务器一般需要提供,不然发送不会成功
        smtCliend.Credentials = new NetworkCredential("xxxxxxx", "xxxxxxx");
        //指定邮件的发送方式
        smtCliend.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
        try
        {
            smtCliend.Send(mm);
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            Response.Write(ex.Message);
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }

回答2:

smtp.Send(msg);//
这里总是提示 “未处理代码 SMTPException”
这个是调用语句:
MailSender ms = new MailSender(TextBox2.Text.Trim(),
"您要的密码!",
"您的密码:" + sdr.GetString(0));//
其实就是发送邮件取回密码

回答3:

client.Credentials = new NetworkCredential("username", "password");
应该是client.Credentials = new NetworkCredential(username, password);吧!
其他地方没发现问题。