Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.NET SMTP Client - Client does not have permissions to send as this sender

Tags:

I'm getting strange occurance on our servers when I am trying to send an email using SmtpClient class via an ASP MVC3 project. This is the code I am using.

try {     var client = new SmtpClient("MailServer");     client.UseDefaultCredentials = true;      MailMessage message = new MailMessage("[email protected]", "[email protected]", "Test Message", "Test Body");     client.Send(message); } catch (Exception ex) {     // Do Nothing } 

I have deployed on three environments; on Windows 7 (using VS 2010 IIS) it sends the email fine, on the Windows 2003 IIS6 machine it sends the email fine, finally on the Windows 2008 R2 II7 server I get the following error:

Mailbox unavailable. The server response was: 5.7.1 Client does not have permissions to send as this sender using username  

Can anybody advise on what may be causing this. I have noticed that when I view User.Identity.Name, this is returning an empty string.

like image 345
StrictlySocial Avatar asked Sep 01 '11 10:09

StrictlySocial


2 Answers

It is likely that the mail server does not support sending anonymous emails and will require credentials to be specified which are registered on the mail server.

You can specify the credentials like so:

client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential("username", "password"); 

Hope this helps.

like image 178
jdavies Avatar answered Nov 07 '22 09:11

jdavies


If you are using an exchange server and the logon account and sender email are different you will got the error "does not have permissions to send...". This is because of the account permissions. You must grant "send as" permission to the logon account.

like image 25
Tũi Wichet S Avatar answered Nov 07 '22 08:11

Tũi Wichet S