Гиперссылка на адрес электронной почты с помощью LinkLabel в C # - PullRequest
15 голосов
/ 24 ноября 2010

Я создал окно «about», которое позволяет пользователям щелкать адрес электронной почты с гиперссылкой, который перенаправляет их в Microsoft Outlook, чтобы можно было отправлять электронную почту на адрес электронной почты, но я не знаю, как связать это в Outlook и позволяет пользователю нажать на ссылку, чтобы сделать это

Ответы [ 5 ]

32 голосов
/ 24 ноября 2010

Вы не говорите, используете ли вы Win- или WebForms ... в WinForms я думаю, вам нужно создать обработчик события для события clickВнутри этого вы можете запустить почтовое приложение по умолчанию, набрав:

System.Diagnostics.Process.Start("mailto:youremail@xx.com");
5 голосов
/ 24 ноября 2010

Проверьте эту ветку 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();
}
3 голосов
/ 24 ноября 2010

В конструкторе формы:

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

в обработчике кликов linklabel1:

        linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true;
        string target = e.Link.LinkData as string;
        System.Diagnostics.Process.Start(target);
2 голосов
/ 06 августа 2011

Поместите ссылку ссылку на форму.

Дважды щелкните ярлык ссылки, чтобы создать обработчик нажатия, а затем поместите в него вызов системного процесса следующим образом:

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");
}
2 голосов
/ 24 ноября 2010

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

Если на компьютере пользователя установлен outlook, он будет его использовать.

Редактировать: упс только что заметил, что вы хотели Winforms, а не web.

Для winformsиспользуйте System.Diagnositcs.Process.Start(outlook.exe /c ipm.note /m bob@someadress.com) в обработчике события click.

...