c#发送电子邮件虽然发生smtp邮件格式错误

时间:2013-08-06 03:52:50

标签: c# email smtp visual-c#-express-2010

您好我正在使用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是Unhanded

例外说明:指定的字符串不是电子邮件地址所需的格式

我试着像这样填写信息:

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;

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

from or to is malformed.

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