How Can i Send Mail Through Exchange Server by using SMTP
asp.net, exchange-server, smtpclient
Solution
I have done it. For more details about my code use this link.
Below Code is worked Fine with
Server : Windows Server 2003,Windows Server 2008,Windows Server 2008 R2
IIS : 6.0, 7.0
.Net Frame Wotk : 2.0,3.5,4.0
string sMessage;
SmtpClient smtpClient = new SmtpClient();
MailMessage message = new MailMessage();
try
{
//you can provide invalid from address. but to address Should be valil
MailAddress fromAddress = new MailAddress("bala@technospine.com", "BALA");
smtpClient.Host = "Exchange Server Name";
smtpClient.Port = 25;
//smtpClient.Port = 587;
smtpClient.UseDefaultCredentials = true;
message.From = fromAddress;
message.To.Add(bala@technospine.com); //Recipent email
message.Subject = _subject;
message.Body = _details;
message.IsBodyHtml = true;
//smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Send(message);
sMessage = "Email sent.";
}
catch (Exception ex)
{
sMessage = "Coudn't send the message!\n " + ex.Message;
}
lblMailStatus.Text = sMessage;
Problem
I want to Run Below code without ``` NetworkCredential nc = new Net.NetworkCredential("USERNAME", "PASSWORD"). ``` BY using Only Exchange Host (Server Name) And Port Im Getting Error For this code : Mailbox unavailable. The server response was: 5.7.1 Client does not have permissions to send as this sender ``` protected void SendEmail(object sender, EventArgs e) { SmtpClient smtpClient = new SmtpClient("ExchangeServerName",25); MailMessage message = new MailMessage(); try { MailAddress fromAddress = new MailAddress("bala@OfficeName.com", "From Me"); MailAddress toAddress = new MailAddress("bala@OfficeName.com", "To You"); message.From = fromAddress; message.To.Add(toAddress); message.Subject = "Testing!"; message.Body = "This is the body of a sample message"; smtpClient.UseDefaultCredentials = true; System.Net.NetworkCredential nc = CredentialCache.DefaultNetworkCredentials; smtpClient.Credentials = (System.Net.ICredentialsByHost)nc.GetCredential("ExchangeServerName", 25, "Basic"); smtpClient.Send(message); lblText.Text ="Email sent."; } catch (Exception ex) { lblText.Text = "Coudn't send the message!\n " + ex.Message; } } ```