Lieferung Benachrichtigung SMTP
Code unten ist workin fine . Aber ich muss Erfolg oder Misserfolg-Benachrichtigung an Bestimmte Adresse ([email protected]). Aber ich bin der Lieferung Benachrichtigungs-mail zu FromMail-Adresse([email protected]). Können Sie mir bitte helfen um dieses problem zu beheben?
SmtpClient smtpClient = new SmtpClient();
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress("[email protected]", "BALA");
MailAddress adminAddress = new MailAddress("[email protected]");
smtpClient.Host = "Mail Server Name";
smtpClient.Port = 25;
smtpClient.UseDefaultCredentials = true;
message.From = fromAddress;
message.To.Add(_sendTo); //Recipent email
message.Subject = _subject;
message.Body = _details;
message.IsBodyHtml = true;
message.Headers.Add("Disposition-Notification-To", "[email protected]");
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
message.ReplyTo = adminAddress;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Send(message);
Um Erfolg oder Misserfolg-Benachrichtigung versuchen bitweise Kombination: Nachricht.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess|DeliveryNotificationOptions.OnFailure; Um die Benachrichtigung auf spezifische Adresse versuchen, die Nachricht.ReplyToList-Eigenschaft angeben, der Liste der Adressen, als die From-Adresse zu verwenden, um die Mitteilung zu beantworten.
InformationsquelleAutor Melody | 2012-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die kurze Antwort ist, was Sie Fragen, nicht getan werden kann in der direkten Weise, in der Sie angenommen.
Dies funktioniert nur unter bestimmten Bedingungen. Am einfachsten zu beschreiben wäre, wenn der SMTP-server, den Sie verwenden, um die Nachricht zu senden, auf dem gleichen server, dass hosts der Domäne des Empfängers E-Mail-Nachrichten (der server, auf den Sie sich beziehen, wenn Sie Ihr .HOST-Eigenschaft der smtpClient). Also, wenn Sie nur das senden an Empfänger auf dem lokalen SMTP-mail-server, dann könnte dies funktionieren ziemlich zuverlässig. Aber das hängt von der jeweiligen SMTP-server-software verwendet wird und möglicherweise auch auf wie es konfiguriert ist.
Zu erklären, warum das so ist, müssen Sie erkennen, dass nur die Letzte SMTP-mail-server den Empfang der Nachricht, dass tatsächlich Gastgeber der gewünschten E-Mail-Adressen, werden in der Lage sein, um eine autorisierende Antwort auf die Frage, ist dies eine gültige E-Mail-Adresse. Wenn die Nachricht zu übergeben, die durch eine andere E-Mail-Server auf dem besten Weg, in dieser letzten autoritativen server, die Nachricht zu übergeben sequentiell von einem server zum nächsten server in der Kette, bis es erreicht, dass die endgültige autoritative server. Dies bedeutet, dass es ist nicht eine garantierte Methode für die Authentifizierung einer bestimmten Adresse. Paar dies mit der Tatsache, dass einige Domänen konfiguriert sind, zu handeln wie ein Schwarzes Loch und schlucken zu Unrecht angegangen mail, und Sie können sehen, dass es viele Gründe gibt, warum Sie sich nicht darauf verlassen kann, dass die Methodik.
So viele Nachrichten an externe Domänen zu haben, um Treffer mindestens einen separaten SMTP-server und je nachdem, wie, die server Antworten, oder leitet die mail, es wird bestimmt, die Ergebnisse für bestimmte empfangenden Domäne. In der Tat, die überwachung der " VON " - Adresse für unzustellbare Nachrichten ist nicht sicher, entweder, wie meine vorherigen Kommentar über einige Gastgeber setzen einige Nachrichten in ein Schwarzes Loch, wenn Sie nicht scheinen, um gültig zu sein.
InformationsquelleAutor dmarietta
Wenn der Empfänger die e-mail-Adresse gültig ist, erhalten Sie nicht die sofortige Rückgabe-Wert über die erfolgreiche Zustellung der Nachricht verwendet wird; siehe Signatur:
Den SMTP-server, wird dies dem Absender (oder wer auch immer Sie geben Sie für die Benachrichtigung) fast sofort mit einer "Unzustellbar" Meldung, sobald der Empfänger die e-mail-Adresse ist ungültig/gefälscht.
SMTP-Server sind erforderlich, um in regelmäßigen Abständen wiederholen Sie die Lieferung. Wenn der Empfänger die e-mail-Adresse ist eine gültige Adresse, aber für einige Grund der SMTP-server konnte nicht übermitteln der Nachricht, die der SMTP-server sendet eine Fehlermeldung an den Absender, wenn es nicht liefern kann die Nachricht nach einer bestimmten Zeit.
RFC 2821 enthält mehr details.
Aus Abschnitt 2.1 die Grundlegende Struktur
Finden Sie in den Abschnitten 4.5.4 und 4.5.5
Von Abschnitt 6.1 die Zuverlässige Lieferung und die Antworten per E-Mail
InformationsquelleAutor Only You
Laut MSDN.Senden Sie werfen wird SmtpFailedRecipientsException EDIT: wenn die NACHRICHT nicht geliefert werden kann, um einen oder mehrere Empfänger. Sie können die Informationen finden, auf dem man in den Gescheiterten Empfänger-Eigenschaft der Ausnahme.
Also, wenn Sie versuchen und fangen die exception und überprüfen der Adresse, die Sie suchen in der Ausnahme, dass die helfen könnte.
Send
Methode nicht prüft, ist Adressen vorhanden sind oder nicht. Es ist einfach überprüfen, ob die Adressen gültig sind (syntaxicaly sprechen). DieSend
Methode kann nicht garantieren, Verteilung, so mit SmtpFailedRecipientsException ist nicht repräsentativ überhaupt für den Vertrieb über Erfolg oder Misserfolg.InformationsquelleAutor Garfunkalow