Ich habe eine About-Box gemacht, die Benutzer auf die Hyperlink-E-Mail-Adresse klicken können, die sie zu einem Microsoft Outlook, um eine E-Mail an die E-Mail-Adresse senden können, aber ich weiß nicht, wie es in Outlook zu verbinden und ermöglichen es dem Benutzer auf den Link klicken, um dieseHyperlink einer E-Mail-Adresse mit LinkLabel in C#
Antwort
Sie sagen nicht, ob Sie Win- oder WebForms ... in WinForms verwenden I Ich denke, Sie müssen einen Event-Handler für das Click-Ereignis erstellen. Im Innern, dass können Sie die Standard-Mail-Anwendung starten, indem Sie eingeben:
System.Diagnostics.Process.Start("mailto:[email protected]");
<a href="mailto:[email protected]"></a>.
zu tun, wenn Outlook auf dem Rechner des Benutzers installiert ist, wird es zu benutzen.
Edit: oops gerade bemerkt, Sie wollten Winforms nicht Web.
Verwenden Sie für Winforms System.Diagnositcs.Process.Start(outlook.exe /c ipm.note /m [email protected])
im Click-Ereignishandler.
Wo lese ich dann in meinem Code in C# setzen dies tun? –
In Form Konstruktor:
linkLabel1.Links.Add(new LinkLabel.Link(0, linkLabel1.Text.Length, "mailto:[email protected]"));
in der Klick-Handler linkLabel1:
linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true; string target = e.Link.LinkData as string; System.Diagnostics.Process.Start(target);
prüfen diesen SO thread:
How to send email using default email client?
Grundsätzlich wäre das Click-Ereignis so etwas wie diese:
private void linkLabel1_LinkClicked(object sender,System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "mailto:[email protected]?subject=hello&body=love my body";
proc.Start();
}
Fügen Sie ein Link-Label in Ihr Formular ein.
Doppelklicken Sie auf den Link-Label Ihre auf Click-Handler dann das Rufsystem Prozess in es so sagen zu erstellen:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel1.LinkVisited = true;
System.Diagnostics.Process.Start("mailto:[email protected]");
}
dass die Standard-E-Mail-Anwendung wird abfeuern, die der Benutzer auf ihre konfigurierten Windows-Box.
Ersetzen Sie das mailto: mit einem HTTP-Verweis auf eine Webseite in ihrem Standard-Browser zu öffnen:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel1.LinkVisited = true;
System.Diagnostics.Process.Start("http://www.cybersprocket.com");
}
Es ist hier erwähnenswert, dass, wenn der Benutzer keinen Standard Mail-Client in Win XP/7 eingerichtet hat, dieser Aufruf eine Ausnahme auslöst 'System.ComponentModel.Win32Exception (0x80004005): Mit der angegebenen Datei ist keine Anwendung verbunden diese Operation ". Win 8 wird sie zumindest fragen, welche App sie den "mailto" -Handler mit – Xerxes
@Xerxes starten wollen, wie können wir diesen Fehler vermeiden oder können wir ihn abfangen und fragen, welche App gestartet werden soll? – indago