c#通过smtp邮件格式发送电子邮件发生错误

本文关键字:电子邮件 错误 格式 通过 smtp | 更新日期: 2023-09-27 18:26:36

你好,我使用的是visual c#2010,我正试图用gmail发送电子邮件,但当我尝试在以下位置发送电子邮件时遇到异常:

MailMessage mail = new MailMessage(From.Text, To.Text, Subject.Text , richTextBox2.Text);

From.TextTo.TextSubject.TextrichTextBox2.Text都是包含信息的文本框。

以下是我正在使用的整个邮件段:

SmtpClient client = new SmtpClient(smtp.Text);
            client.Port = 587;
            client.Credentials = new System.Net.NetworkCredential(Username.Text, Password.Text);
            client.EnableSsl = true;
            client.Send(mail);
            MessageBox.Show("mail sent");

异常是:FormatException未屏蔽

异常描述为:指定的字符串不是电子邮件地址所需的格式

我试着这样填写信息:

MailMessage mail = new MailMessage("you@gmail.com", "me@gmail.com", "hello" , body.Text);
                                   //example       //example

但我还是有个例外。我做错了什么?

以下是数值:

 To.Text = "gerardcrafting@gmail.com";
        smtp.Text = "smtp.gmail.com";
        Password.Text = "Password";
        Username.Text = "staff.gerardcrafting.gmail.com"; 
        Subject.Text = textBox1.Text + "Banned" + richTextBox4.Text;

c#通过smtp邮件格式发送电子邮件发生错误

根据MailMessage构造函数(String,String,String)的MSDN文档,当此构造函数发生FormatException时,原因是:

from or to is malformed.

您声明您的From.Texttaff.gerardcrafting.gmail.com,这不是一个有效的电子邮件地址,因为它缺少@符号。

Username.Text的输入更改为简单的"gerardcrafting"