TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Kaushik Dudhat
475
2.8k
1.1m
Can i track the email is sent or not in c# ?
Oct 19 2019 12:55 AM
I'm using smtp to send the email, if the receiver email address is wrong then the email is not send and no any exception found.
So anyone help me to find out the email was sent or not.?
My current code is like below
public
static
void
MailSend()
{
MailAddress from =
new
MailAddress(
"
[email protected]
"
);
MailAddress to =
new
MailAddress(
"
[email protected]
"
);
MailMessage message =
new
MailMessage(from, to);
// message.Subject = "Using the SmtpClient class.";
message.Subject =
"Using the SmtpClient class."
;
message.Body = @
"Using this feature, you can send an e-mail message from an application very easily."
;
SmtpClient client =
new
SmtpClient(
"smtp.gmail.com"
,587);
client.Credentials =
new
NetworkCredential(
"
[email protected]
"
,
"kd"
);
client.EnableSsl =
true
;
Console.WriteLine(
"Sending an e-mail message to {0} using the SMTP host {1}."
,to.Address, client.Host);
try
{
client.Send(message);
}
catch
(SmtpFailedRecipientsException ex)
{
for
(
int
i = 0; i < ex.InnerExceptions.Length; i++)
{
SmtpStatusCode status = ex.InnerExceptions[i].StatusCode;
if
(status == SmtpStatusCode.MailboxBusy ||
status == SmtpStatusCode.MailboxUnavailable)
{
Console.WriteLine(
"Delivery failed - retrying in 5 seconds."
);
System.Threading.Thread.Sleep(5000);
client.Send(message);
}
else
{
Console.WriteLine(
"Failed to deliver message to {0}"
,
ex.InnerExceptions[i].FailedRecipient);
}
}
}
catch
(Exception ex)
{
Console.WriteLine(
"Exception caught in RetryIfBusy(): {0}"
,
ex.ToString());
}
}
private
static
void
SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
{
// Get the unique identifier for this asynchronous operation.
String token = (string)e.UserState;
if
(e.Cancelled)
{
Console.WriteLine(
"[{0}] Send canceled."
, token);
}
if
(e.Error != null)
{
Console.WriteLine(
"[{0}] {1}"
, token, e.Error.ToString());
}
else
{
Console.WriteLine(
"Message sent."
);
}
}
Reply
Answers (
1
)
sms service system
File Upload Control