电子邮件不包含任何文本

时间:2015-05-15 17:13:38

标签: 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 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());
    }
}

代码本身似乎工作正常。无论如何,我没有在电子邮件中收到任何文字,但提供了正文的文字。

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

1 个答案:

答案 0 :(得分:0)

看来send async期望一个消息对象作为它的第一个参数。

https://msdn.microsoft.com/en-us/library/x5x13z6h%28v=vs.110%29.aspx

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

https://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient%28v=vs.110%29.aspx