【问题标题】:Error "A recipient must be specified" occurred while sending mail in c#在 C# 中发送邮件时出现错误“必须指定收件人”
【发布时间】:2017-01-28 07:04:41
【问题描述】:

我正在尝试在 c# 中发送带有多个附件的邮件,但出现此错误

发送邮件时必须指定收件人

这是我发送带附件邮件的代码

            string to = txtto.Text; //To address        
            string from = "xxx@mail.com"; //From address     

            MailMessage message = new MailMessage();
            message.From = new MailAddress(from);


            if (fileuploading.HasFile)//Attaching document    
            {
                string FileNamess = fileuploading.PostedFile.FileName;
                string FileName = Path.GetFileName(fileuploading.PostedFile.FileName);


                message.Attachments.Add(new System.Net.Mail.Attachment(fileuploading.PostedFile.InputStream,FileName));

            }

            string mailbody = editor.Text;
            message.Subject = txtsubject.Text;
            message.Body = mailbody;
            message.BodyEncoding = Encoding.UTF8;
            message.IsBodyHtml = true;


            SmtpClient client = new SmtpClient("smtp.gmail.com", 587); //Gmail smtp        
            System.Net.NetworkCredential basicCredential1 = new
            System.Net.NetworkCredential("xxx@mail.com","xxxxx");
            client.EnableSsl = true;
            client.UseDefaultCredentials = false;
            client.Credentials = basicCredential1;

            try
            {
                client.Send(message);
            }

            catch (Exception ex)
            {
                throw ex;
            }

【问题讨论】:

  • 您是否真的阅读并理解了您在异常中得到的信息?因为to 没有在任何地方使用...
  • 你在哪里使用to 字符串发送?
  • 读取异常。您没有设置收件人。
  • 您似乎遗漏了收件人地址。请阅读例外情况,它提供了明确的详细信息。
  • 是的,我在异常期间收到了消息...如果我删除异常我得到了同样的错误

标签: c# .net smtp


【解决方案1】:

您有一个未使用的字符串“to”。您需要将此字符串添加到收件人列表message.To

要做到这一点,请参考以下 sn-p;

string to = txtto.Text; //To address        
string from = "xxx@mail.com"; //From address     

MailMessage message = new MailMessage();
message.From = new MailAddress(from);
message.To.Add(to);     //Add this line to your code

要使上述示例正常工作,您的字符串to 应包含格式为“xxx@mail.com”的收件人地址。

【讨论】:

    猜你喜欢
    • 2012-11-16
    • 2016-03-27
    • 1970-01-01
    • 2021-06-05
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 2018-09-30
    相关资源
    最近更新 更多