Quantcast
Channel: SharePoint 2010 - Development and Programming forum
Viewing all articles
Browse latest Browse all 11508

Failure sending mail.

$
0
0

I am trying to come up with a working logic that would be used in a receiver that would be triggered off to send of emails (along with document attached) when documents are added to a specific directory. So far, I have come up with this code...

public override void ItemAdded(SPItemEventProperties properties)
{
   try
   {
	   SPSecurity.RunWithElevatedPrivileges(delegate()
	   {

		   using (SPSite currentSite = new SPSite(properties.Web.Url))
		   {
			   using (SPWeb currentWeb = currentSite.OpenWeb(properties.Web.Url))
			   {
				   SPFolder mylibrary = properties.Web.Folders["My Docs"];
				   properties.Web.AllowUnsafeUpdates = true;
				   SmtpClient smtpClient = new SmtpClient("smtp.mail.yahoo.com");
				   smtpClient.Send(BuildMailMessage(properties.ListItem.File));
			   }
		   }

	   });
   }
   catch (Exception ex)
   {
	   SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory("My Category", TraceSeverity.Unexpected, EventSeverity.Error), TraceSeverity.Unexpected, ex.Message, ex.StackTrace);
   }
   finally
   {

   }

}

private MailMessage BuildMailMessage(SPFile file)
{
   MailMessage message = new MailMessage();
   message.From = new MailAddress("myemail@yahoo.com");
   message.To.Add(new MailAddress("myemail@mycompany.com"));
   message.IsBodyHtml = true;
   message.Body = "Please review the following attachment for details";
   message.Subject = "Word document received";

   message.Attachments.Add(new Attachment(file.OpenBinaryStream(), file.Name));


   return message;
}


But each time I run this code, I get errors. The first error it returns is "Failure sending mail." and when I view the error details, I also notice this Inner Exception error message "The remote name could not be resolved: 'smtp.mail.yahoo.com'".

Am I missing something? Does anyone know why this is happening and how I can get past this? 

Thanks for the help

Here's the stack trace for the inner exception:

   at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6, Int32 timeout)
   at System.Net.PooledStream.Activate(Object owningObject, Boolean async, Int32 timeout, GeneralAsyncDelegate asyncCallback)
   at System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback)
   at System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout)
   at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port)
   at System.Net.Mail.SmtpClient.Send(MailMessage message)

And the one for the outer exception:

   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   at SendEmailSampleEventReceiver.EventReceiver1.EventReceiver1.<>c__DisplayClass2.<ItemAdded>b__0()
   at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass4.<RunWithElevatedPrivileges>b__2()
   at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)


Viewing all articles
Browse latest Browse all 11508

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>