mailto mit c#

StefanLausL

Erfahrenes Mitglied
Guten Morgen,

ich habe einen Button erzeugt der beim Klick ein mailto absenden soll, was dann Outlook am Client öffnen soll.
Dies funktioniert leider nur bei mir lokal in der Entwicklungsumgebung.
Leider funktioniert es nicht wenn ich den Code auf den Server kopiere und dann denn Button vom Client aus starte.
Hier kommt dann weder eine Fehlermeldung noch sonst irgendwas.
Es passiert einfach gar nix. Wie gesagt am Entwicklungsrechner klappt alles wunderbar.

Was muss ich in der Funktion ändern das das auch auf dem Server klappt ?
Die Funktion muss nur im Intranet laufen.
Ich kann also davon ausgehen das an allen Clients Outlook installiert ist.

Für eure Hilfe wäre ich sehr dankbar.


Hier mein bisheriger Code:

public class Email
{
public static void SendMail(string sMailFrom, string sRecipient)
{
using (System.Diagnostics.Process aMailApp = new System.Diagnostics.Process())
{
aMailApp.StartInfo.FileName = string.Format("mailto: {0}?bcc={1}", sMailFrom, sRecipient);
aMailApp.StartInfo.UseShellExecute = true;
aMailApp.StartInfo.RedirectStandardOutput = false;
aMailApp.Start();
}


}

}
 
Zuletzt bearbeitet:
Hallo,

der Server der das Intranet bereitstellt.
Da ist kein Mail Client installiert.
Outlook soll ja beim Client der auf die Internetseite zugreift geöffnet werden und nicht am Server
 
Achso, Intranetseite.

Na dann ist klar, dass das nicht funktioniert. Wenn sich bei den Clients bei Klick auf einen Link Outlook öffnen soll, reicht ein einfacher Link.

Code:
<a href="mailto:blub@bla.invalid?bcc=muh@kuh.invalid">Mail..</a>

Das mit Process.Start klappt nicht so wie du es willst, weil dieser Code ja am Server ausgeführt wird, und somit wird natürlich auch am Server der Prozess gestartet.



lg,..
 
Ich hab mal auf die schnelle ge'BING't und das hier gefunden:

Code:
using System.Runtime.InteropServices;

// public class ........ {
// Api Deklarieren
[DllImport("shell32.dll", EntryPoint = "ShellExecute")]
public static extern long ShellExecute(int hwnd, string cmd, string file, string param1, string param2, int swmode);

/// swmode 0=sw_hide, 5=SW Show
/// Weitere siehe Windows API
public static string SendMail()
{
	// email öffnen
	ShellExecute (0, "mailto", "tester@testdomain.de", "", "", 5)
}
 
Wird nichts bringen. Das wird ja trotzdem am Server ausgeführt.

Wennst wirklich am Client das machen willst, müsstest unter Umständen mit JavaScript ran.
 
Ah jetzt ja, Button = WinForms = Stimmt ja gar nicht

Gib dem Button einfach ein

Code:
 Button btn = new Button();
btn.UseSubmitBehavior = false;
btn.OnClientClick = "mailto:EMail@hier.xx; return false;";

und schon geht der lokale Email Client auf...
 
Zurück