roy.d
roy.d

Reputation: 1129

C# smtp response

i have few question about smtp

im using this code to send mails if the host is gmail then it act diffrente:

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;

        }

is it possiable to get answer from smtp : 1. that the email arrived 2. if the mail exists

thanks

Upvotes: 0

Views: 2779

Answers (2)

Eric J.
Eric J.

Reputation: 150138

Back in the day you could directly query whether the email address exists on a given server (VRFY user SMTP command). Then, SPAM was born and pretty much all email servers removed that capability because spammers would use bots to query possible email recipients on each mail server to build SPAM lists.

You will still get an ordinary bounce report (email back to the reply-to address indicating that delivery failed). I use a tool called Boogie Tools to automate processing of bounce messages.

Gmail does not offer delivery or read receipts (though some email servers still optionally allow it) for similar reasons... too much abuse potential.

Upvotes: 0

Magnus Johansson
Magnus Johansson

Reputation: 28325

If you want to receive a notification that the email has arrived you need to send the email with delivery notification options.

mailMessage.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

If the email doesn't exists, you will get an email back to your sender address and not to your SMTP class.

In short, there's no easy way to determine these two thing purely from the SMTP class perspective.

Upvotes: 1

Related Questions