Hallo,
ich versuche mit SmtpClient.Send() eine Mail aus meinem Code heraus zu versenden. Ich bekomme aber leider nie eine Exception, wenn die Email nicht gesendet werden konnte (habe zum Test mal falsche Zugangsdaten verwendet)
Kann ich im Code irgendwie prüfen, ob die Smtp-Verbindung steht und gültig ist?
Gruß Dominik
Laut der MSDN Seite müsste es aber eine Exception(SmtpException) geben.
SmtpClient.Send
Etwas mehr Code wäre hilfreich um mehr sagen zu können.
Martin
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
hab ich auch gedacht. Der Code ist nicht kompliziert:
string strBetreff = "Berichte";
string strNachricht = "bla ";
string strAn = user.Email;
string strVon = "email@email.net";
using( MailMessage mail = new MailMessage())
{
MailAddress from = new MailAddress(strVon);
mail.To.Add(strAn);
mail.From = from;
mail.Subject = strBetreff;
mail.Body = strNachricht;
mail.Attachments.Add(new Attachment(reportPath));
SmtpClient client = new SmtpClient();
client.Send(mail);
}
return true;
Die Exception wird außerhalb der Funktion gefangen,
die Credentials liegen in der App.config unter System.net
Hallo d.gierse,
Die Exception wird außerhalb der Funktion gefangen,
Tritt nun doch eine auf?
Sonst pack mal um das Send ein try-catch.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Vielleicht hilft es noch folgende Eigenschaft beim SmtpClient zu setzen:
client.UseDefaultCredentials = false;
Machen wir bei unserem SmtpClient, der Emails an Kunden verschickt, auch so.
Dann wird einfach nur noch die Send Methode aufgerufen und alles läuft 😃
Zusätzlich kannst du noch an den Konstruktor des SmtpClients eine Adress und einen Port übergeben, was auch noch ein Problem sein kann wenn diese fehlen.
Bsp. kannst du dann den Default Smtp Port übergeben und sowas wie smtp.domain.de als Adresse.
Sonst wird der Client auf die Einstellungen deines Computers eingestellt.
Mehr dazu gibt es SmtpClient-Konstruktor
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Hallo T-Virus,
Sonst wird der Client auf die Einstellungen deines Computers eingestellt.
Um es zu präzisieren: Host und Port werden sonst von der app/web.config geladen od. wenn diese nicht da ist wird versucht in der machine.config zu schauen.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"