C# 电子邮件不包含任何文本

C# 电子邮件不包含任何文本,c#,email,gmail,C#,Email,Gmail,我正在使用以下代码发送电子邮件: private void button1_Click(object sender, EventArgs e) { MailMessage msg = new MailMessage(); msg.To.Add("ToEmail"); msg.From = new MailAddress("From Email", "Display Name", Encoding.UTF8); msg.Subject = "This is a si

我正在使用以下代码发送电子邮件:

private void button1_Click(object sender, EventArgs e)
{
    MailMessage msg = new MailMessage();
    msg.To.Add("ToEmail");
    msg.From = new MailAddress("From Email", "Display Name", Encoding.UTF8);
    msg.Subject = "This is a simple test";
    msg.Body = "This is test";
    msg.SubjectEncoding = Encoding.UTF8;
    msg.IsBodyHtml = false;
    msg.Priority = MailPriority.High;
    SmtpClient client = new SmtpClient();
    client.Credentials = new NetworkCredential("Display name",         "password");
    client.Port = 465;
    client.UseDefaultCredentials = false;
    client.Host = "smtp.gmail.com";
    client.EnableSsl = true;
    try
    {
        client.SendAsync("From Email", "", msg.Subject, msg.Body, "test message1");
        MessageBox.Show("Sent");
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }
}
代码本身似乎工作正常。无论如何,我没有收到任何文本内的电子邮件,虽然文本的机构提供了


这意味着我收到了一封发送的空电子邮件。

看来send async需要一个message对象作为它的第一个参数

这个来自Microsoft的示例显示了一个与您的代码不同的精确演示


为什么不
client.SendAsync(msg,”)?为什么不使用simple
client.send()方法@Anirudha@AngelOfDeathtry
client.send(msg)
如果没有收件人,无论使用何种发送方法,它都是无用的。您需要设置一个收件人!参见
msg.To.Add(“ToEmail”)其已添加@Ralf