2012-04-04 10 views
0

ich habe einige Fragen zu smtpC# smtp Antwort

im diesem Code Mails zu senden, wenn der Host-gmail ist dann diffrente handeln:

foreach (string host in hosts) 
{ 
    SmtpClient sc = null; 
    try 
    { 
     if (emailDomain.ToLower() == "gmail.com") 
     { 
      MailSend.MailSendApp.EventLog.WriteEntry("mail to gmail.com"); 

      sc = new SmtpClient("smtp.gmail.com", 587); 
      sc.UseDefaultCredentials = false; 
      sc.DeliveryMethod = SmtpDeliveryMethod.Network; 
      sc.Credentials = new NetworkCredential("[email protected]", "PWD"); 
      sc.EnableSsl = true; 
     }         } 
     else 
     { 
      sc = new SmtpClient(host); 

      sc.Send(mailMessage); 

      break; 

     } 

ist es possiable Antwort von smtp zu bekommen: 1. dass die E-Mail- 2. angekommen, wenn die Mail

existiert

dank

+0

nein. Ich schätze, deshalb nennen sie es e-fail. – McGarnagle

+0

Was ist das Problem mit dem Code? Wie verhält es sich bei gmail als Host anders? –

+0

@ FredrikMörk: Sieht so aus, als würden sie versuchen, als ein bestimmter Google Mail-Benutzer zu senden, wahrscheinlich um die Rate zu umgehen oder weil ihre Absender-Reputation für ihr SMTP-Gateway schlecht ist und Gmail E-Mails ablehnt. –

Antwort

0

Zurück in den Tag können Sie direkt abfragen, ob der E-Mail Adresse existiert auf einem gegebenen Server (SMTP-Befehl VRFY user). Dann wurde SPAM geboren und so gut wie alle E-Mail-Server beseitigten diese Fähigkeit, da Spammer Bots benutzten, um mögliche E-Mail-Empfänger auf jedem Mail-Server abzufragen, um SPAM-Listen zu erstellen.

Sie erhalten immer noch einen normalen Bounce-Bericht (E-Mail zurück an die Antwortadresse, die angibt, dass die Zustellung fehlgeschlagen ist). Ich verwende ein Tool mit der Bezeichnung Boogie Tools, um die Verarbeitung von Bounce-Nachrichten zu automatisieren.

Gmail bietet keine Zustellung oder Lesebestätigungen (obwohl einige E-Mail-Server es noch immer zulassen) aus ähnlichen Gründen ... zu viel Missbrauchspotenzial.

1

Wenn Sie eine Benachrichtigung erhalten möchten, dass die E-Mail angekommen ist, müssen Sie die E-Mail mit delivery notification options senden.

Wenn die E-Mail nicht existiert, erhalten Sie eine E-Mail zurück an Ihre Absenderadresse und nicht an Ihre SMTP-Klasse.

Kurz gesagt, gibt es keine einfache Möglichkeit, diese beiden Dinge rein aus der Perspektive der SMTP-Klasse zu bestimmen.

+0

eine weitere Sache über Google Mail ist, dass die E-Mail gesendet wird ist nie die FROM, die ich zu emailMessage addiere, es kann nicht geändert werden mein FROM ist der Benutzername der UID, die ich von ihrer smtp frage –