由于其保护级别,“Microsoft.SharePoint.MailMessage”无法访问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由于其保护级别,“Microsoft.SharePoint.MailMessage”无法访问相关的知识,希望对你有一定的参考价值。
由于其保护级别,“Microsoft.SharePoint.MailMessage”无法访问
在这段代码上:
MailMessage mail = new MailMessage();
mail.From = "myemail@xxxxx.edu";
mail.To = "myemail@xxxx.edu";
mail.Subject = "Testing Code";
mail.BodyText = what;
mail.Priority = MailPriority.High;
Smtp.Send(mail, "smtp.xxxxx.edu");
怎么可以搞砸这个?更改为web.config?有没有办法绕过代码?
此错误表明MailMessage没有公共构造函数。最有可能的是,它仅供内部SharePoint使用。
实际上,在SharePoint的大多数情况下,您需要使用SPUtility.SendEmail方法与SharePoint一起发送邮件。这很简单:
SPUtility.SendEmail(SPContext.Current.Web, false, false, "myemail@xxxxx.edu", "Testing Code", what);
有关此方法的详细信息,请参阅MSDN:http://msdn.microsoft.com/en-us/library/ms411989.aspx
如果您需要在普通用户帐户下发送电子邮件,则应使用SPSecurity.RunWithElevatedPrivilegies方法提供更高的权限。
唯一的缺点是SPUtility不支持附件。如果您需要在信中附上一些文件,请使用System.Net.Mail。
我知道来自Edwin Vriethoff的一篇好文章,它提供了有关发送带附件的电子邮件的详细信息,以及默认的SharePoint SMTP设置(它们是通过管理中心配置的):http://edwin.vriethoff.net/2007/10/02/how-to-send-an-e-mail-with-attachment-from-sharepoint/
以上是关于由于其保护级别,“Microsoft.SharePoint.MailMessage”无法访问的主要内容,如果未能解决你的问题,请参考以下文章
由于其保护级别,“Microsoft.SharePoint.MailMessage”无法访问
c# 资源中的 SmtpClient 由于其保护级别而无法访问
未序列化的结构列表列表。 System.RuntimeType 由于其保护级别而无法访问。只能处理公共类型