19

我制作了一个关于框,旨在允许用户单击超链接电子邮件地址,该电子邮件地址会将他们带到 Microsoft Outlook,以便能够向该电子邮件地址发送电子邮件,但我不知道如何将其链接到 Outlook并允许用户单击链接来执行此操作

4

5 回答 5

39

您并不是说您是使用 WinForms 还是 WebForms...在 WinForms 中,我认为您需要为 click 事件创建一个事件处理程序。在其中,您可以通过键入以下内容来启动默认邮件应用程序:

System.Diagnostics.Process.Start("mailto:youremail@xx.com");
于 2010-11-23T21:53:21.510 回答
5

检查这个 SO 线程:

如何使用默认电子邮件客户端发送电子邮件?

基本上,点击事件是这样的:

private void linkLabel1_LinkClicked(object sender,System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
 System.Diagnostics.Process proc = new System.Diagnostics.Process();
    proc.StartInfo.FileName = "mailto:someone@somewhere.com?subject=hello&body=love my body";
    proc.Start();
}
于 2010-11-23T21:54:10.717 回答
4

在表单的构造函数中添加LinkLabel这样的:

linkLabel1.Links.Add(new LinkLabel.Link(0, linkLabel1.Text.Length, "mailto:bob@someaddress.com"));

然后,在LinkLabel的点击处理程序中:

linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true;
string target = e.Link.LinkData as string;
System.Diagnostics.Process.Start(target);
于 2010-11-23T21:49:22.983 回答
2

<a href="mailto:bob@someaddress.com"></a>.

如果 Outlook 安装在用户的机器上,它将使用它。

编辑:哎呀刚刚注意到你想要 Winforms 而不是 web。

对于System.Diagnositcs.Process.Start(outlook.exe /c ipm.note /m bob@someadress.com)在单击事件处理程序中使用的 winforms。

于 2010-11-23T21:45:34.747 回答
2

在您的表单上放置一个链接标签。

双击链接标签以创建您的点击处理程序,然后将系统进程调用放入其中,如下所示:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    linkLabel1.LinkVisited = true;
    System.Diagnostics.Process.Start("mailto:info@cybersprocket.com");
}

这将触发用户在其 Windows 框中配置的默认电子邮件应用程序。

将 mailto: 替换为 HTTP 引用以在其默认浏览器中打开网页:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    linkLabel1.LinkVisited = true;
    System.Diagnostics.Process.Start("http://www.cybersprocket.com");
}
于 2011-08-05T22:02:10.873 回答