c# - c#发送邮件/邮件/ SMTP错误

我需要一些编码方面的帮助。我正在尝试通过电子邮件发送消息,但是尝试单击按钮并发送消息后,我一直收到错误消息。下面是代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.Net.Mail;


namespace CO6009DissertationV5
{

    public partial class frmSendMsg : Form
    {

        public frmSendMsg()
        {
            InitializeComponent();
        }

        private void btnSend_Click(object sender, EventArgs e)
        {
            SmtpClient client = new SmtpClient();
            client.Host = "smtp.gmail.com";
            client.Port = 587;
            client.EnableSsl = true;

            System.Net.NetworkCredential userpassword = new System.Net.NetworkCredential();
            userpassword.UserName = "user@gmail.com";
            userpassword.Password = "password";

            client.Credentials = userpassword;

            MailMessage msg = new MailMessage("user@gmail.com", "user@gmail.com");
            **msg.To.Add(new MailAddress(txtBoxToEmail.Text));**
            msg.Body = "<b> Sender's Name: </b>" + txtBoxName.Text + "<p><b> Sender's E-mail: </b>" + txtBoxEmail.Text + "<p><b>Sender's Subject: </b>" + txtBoxSubject.Text + "<p><b>Sender's Message: </b>" + "<p>" + txtBoxMsg.Text;
            msg.Subject = txtBoxSubject.Text;
            msg.IsBodyHtml = true;

            try
            {
                client.Send(msg);
                lblMsgStatus.Text = "<p> Message Successfully Sent </p>";
            }

            catch (Exception ex)
            {
                lblMsgStatus.Text = "Send failed";
            }
        }
    }
}


主要问题似乎是这一行:

msg.To.Add(new MailAddress(txtBoxToEmail.Text));


由于项目一直在此处停止,因此出现错误行:


  {“参数'addresses'不能为空字符串。\ r \ n参数名称:地址”}。


任何帮助,将不胜感激。

最佳答案

仅当txtBoxToEmail.Text不是有效的电子邮件地址时,此行才能失败

msg.To.Add(new MailAddress(txtBoxToEmail.Text));


如果仍然不清楚,请用try-catch包装您的代码并评估异常详细信息

编辑:我看到您的编辑,我认为异常消息“参数'地址'不能为空字符串。\ r \ n参数名称:地址”非常清楚

本文翻译自 https://stackoverflow.com/questions/41823100/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 c# email smtp msg


相关文章:

c# - 在Windows中使用Kinect进行两个并行进程

c# - 亚马逊产品广告API ItemSearchRequest

c# - File.ReadLines在每个其他字符之后返回null字符

c# - 在组合框中显示空白而不是第一项

python - 如何在Gmail API中正确设置“回复至”和“参考”标头

php - 你如何制作电子邮件去垃圾邮件

html - 编码HTML电子邮件

php - PHPMailer错误:SMTP - >错误:无法连接到服务器

php - 从PHP页面使用GMail SMTP服务器发送电子邮件

c# - C#-通过Gmail或其他方式发送电子邮件?