Reputation: 35
I am using this code for sending email in asp.net:
Using System.Net.Mail
public string SendEmail()
{
SmtpClient obj = new SmtpClient();
MailMessage Mailmsg = new MailMessage();
Mailmsg.To.Clear();
Recievers = new MailAddressCollection();
Recievers.Add(txtToAddress.Text);
SenderName = "Info";
SenderEmail = txtFromAddress.Text;
Subject = "subj";
Body = "body";
UseBcc = false;
if (UseBcc)
{
foreach (MailAddress RecieverItem in Recievers)
{
Mailmsg.Bcc.Add(RecieverItem);
}
}
else
{
foreach (MailAddress RecieverItem in Recievers)
{
Mailmsg.To.Add(RecieverItem);
}
}
Mailmsg.From = new MailAddress(SenderEmail, SenderName, System.Text.Encoding.UTF8);
Mailmsg.Subject = Subject;
Mailmsg.SubjectEncoding = Encoding.UTF8;
Mailmsg.BodyEncoding = System.Text.Encoding.UTF8;
Mailmsg.IsBodyHtml = false;
obj.Host = mail.domain.com;
System.Net.NetworkCredential BasicAuthenticationInfo = new System.Net.NetworkCredential("[email protected]", "password");
obj.UseDefaultCredentials = false;
obj.Credentials = BasicAuthenticationInfo;
Mailmsg.Body = Body;
Mailmsg.IsBodyHtml = true;
try
{
obj.Send(Mailmsg);
return "sent";
}
catch (Exception ex)
{
return ex.ToString();
}
}
It correctly sends emails to recievers which are defined in my domain (like [email protected]), but I cannot send email to other mail servers (like [email protected]).
What is wrong in my code?
(May it relate to SmtpClient properties? I have set smtpclient.host to mail.mydomain.com and use username and password of one of my mail accounts which are defined in my domain)
Thanks
Upvotes: 0
Views: 7006
Reputation: 4585
It must be something related to your exchange server. there are transport rules in exchange which define how you can communicate with the outside world.
you must be getting some exception while sending email to outside network
System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: 5.1.1 User unknown
at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
If this is error you are getting this mean your exchange is not supported to send email directly to outside network. as I am no MS exchange expert but i have been using a exchange server configured in my network that can't send email to outside network but we enable email forwarding to contacts.
May be this can help you. http://www.petri.co.il/configuring-exchange-2007-send-connectors.htm
also i would suggest you share this problem on https://serverfault.com/
Upvotes: 5