向在文本框中输入的收件人发送电子邮件

时间:2014-01-26 21:02:05

标签: c# winforms email mailto

我有一个带有地址簿的C#Windows表单应用程序。在一个表单上有一个文本框,显示联系人电子邮件地址(来自数据表)。我想在它旁边有一个按钮,当点击它时会打开我的电子邮件客户端,并输入电子邮件地址。

据我所知,您可以使用System.Diagnostics.Process.Start(mailto:example@example.com)向指定的联系人发送电子邮件。但是如何让它将其发送到文本框中输入的值

1 个答案:

答案 0 :(得分:0)

通过将电子邮件推送到默认邮件客户端Process.Start('mailto:xxx')来发送电子邮件不是一个好主意。可能没有定义默认电子邮件客户端,也可能无法配置默认应用程序。

无论哪种方式,用户都会收到来自您的应用程序但来自外部应用程序的消息。

更好的想法是为您的应用程序配置明确的电子邮件客户端配置,甚至更好 - 允许用户配置电子邮件客户端。

通过电子邮件客户端我的意思是:

  • SMTP服务器
  • port(默认值:25)
  • 用户名
  • 密码

通过这些,您的应用程序可以轻松地通过中继SMTP服务器发送电子邮件:

http://msdn.microsoft.com/pl-pl/library/swas0fwc%28v=vs.110%29.aspx

MailMessage message = new MailMessage(from, to);

message.Subject = subject;
message.Body = body;

SmtpClient client = new SmtpClient(server);
client.Credentials = new NetworkCredentials( username, password );

client.Send(message);