2010-09-14 21 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

相關問題