【发布时间】:2012-09-19 14:55:02
【问题描述】:
我正在创建一个电子邮件发送示例应用程序,并且我想使用从不同的电子邮件地址发送电子邮件,例如“gmail、yahoo、hotmail”,所以我不想使用“smtp.email.com”作为主机,因为如果我使用“smtp.email.com”作为主机,我将不得不为每个不同的公司更改我的主机名,例如(“smtp.gmail.com”对于 gmail 或“smtp.mail.yahoo.com”对于 yahoo.com)所以 我可以使用 IP 地址作为 SMTP 主机而不是 smtp.email.com。
请给我一个解决方案,这样我就可以在不更改 smtp 主机名的情况下使用不同的电子邮件公司发送电子邮件。
这是我的代码:
try
{
// setup mail message
MailMessage message = new MailMessage();
message.From = new MailAddress(textBox1.Text);
message.To.Add(new MailAddress(textBox2.Text));
message.Subject = textBox3.Text;
message.Body = richTextBox1.Text;
// setup mail client
SmtpClient mailClient = new SmtpClient("smtp.gmail.com");//here i have to change SMTP host for different email company
mailClient.Credentials = new NetworkCredential(textBox1.Text,"password");
// send message
mailClient.Send(message);
MessageBox.Show("Sent");
}
catch(Exception)
{
MessageBox.Show("Error");
}
【问题讨论】:
-
编写垃圾邮件引擎? ;-) 说真的,包含您的用例可能会有所帮助,因为您还可以获得更好的建议来帮助您尝试做的事情。
-
您不必更改 smtp 主机,如果您拥有 smtp.gmail.com 的有效凭据,它将允许您向任何主机发送电子邮件。
标签: c# .net email smtp smtpclient