2010-09-14 58 views
0

“Microsoft.SharePoint.MailMessage”不可访问由于其保护级别“Microsoft.SharePoint.MailMessage”不可访问由于其保护级别

在此代码:

邮件MAILMESSAGE新= MAILMESSAGE() ; mail.From =“[email protected]”; mail.To =“[email protected]”; mail.Subject =“测试代码”; mail.BodyText = what; mail.Priority = MailPriority.High; Smtp.Send(mail,“smtp.xxxxx.edu”);

这怎么能remidy?更改为web.config?任何方式绕过代码?

谢谢。

回答

2

这个错误是说MailMessage没有公共构造函数。最有可能的是,它仅供内部SharePoint使用。

实际上,在大多数情况下,在SharePoint中,您需要使用SPUtility.SendEmail方法以使用SharePoint发送邮件。这是非常简单的:

SPUtility.SendEmail(SPContext.Current.Web, false, false, "[email protected]", "Testing Code", what); 

查看MSDN关于此方法的详细信息: http://msdn.microsoft.com/en-us/library/ms411989.aspx

如果您需要在普通用户帐户发送电子邮件,你应该使用SPSecurity.RunWithElevatedPrivilegies方法来提供较高privilegies 。

唯一的缺点是SPUtility不支持附件。如果您需要将一些文件附加到您的信件中,请使用System.Net.Mail

我知道,从埃德温Vriethoff好的帖子,提供有关电子邮件发送带有附件,用默认的SharePoint SMTP设置(他们是通过管理中心配置)的详细信息: http://edwin.vriethoff.net/2007/10/02/how-to-send-an-e-mail-with-attachment-from-sharepoint/

+0

就是这样。谢谢! – o365spo 2010-09-14 21:12:37

相关问题