Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
';Microsoft.SharePoint.MailMessage';由于其保护级别,无法访问_Sharepoint_Smtp_Message Level Security - Fatal编程技术网

';Microsoft.SharePoint.MailMessage';由于其保护级别,无法访问

';Microsoft.SharePoint.MailMessage';由于其保护级别,无法访问,sharepoint,smtp,message-level-security,Sharepoint,Smtp,Message Level Security,“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.Se

“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.sendmail方法使用SharePoint发送邮件。这很简单:

SPUtility.SendEmail(SPContext.Current.Web, false, false, "myemail@xxxxx.edu", "Testing Code", what);
有关此方法的详细信息,请参见MSDN:

如果您需要在普通用户帐户下发送电子邮件,则应使用SPSecurity.RunWithElevatedPrivilegies方法提供提升权限

唯一的缺点是SPUtility不支持附件。如果您需要在信中附上一些文件,请使用

我知道Edwin Vriethoff的一篇好文章,该文章提供了有关发送带有附件的电子邮件的详细信息,带有默认的SharePoint SMTP设置(通过中央管理配置):