我需要知道從我的Sharepoint webparts和/或自定義功能發送電子郵件的最佳做法是什麼。在Sharepoint發送電子郵件
我應該只使用普通的.Net類來發送電子郵件嗎?還是通過與outlook服務器集成來實現它的更好方式?
我需要知道從我的Sharepoint webparts和/或自定義功能發送電子郵件的最佳做法是什麼。在Sharepoint發送電子郵件
我應該只使用普通的.Net類來發送電子郵件嗎?還是通過與outlook服務器集成來實現它的更好方式?
簡單的方法是使用內置的實用工具,這將然後使用郵件服務器setttings設置在中央管理
using Microsoft.SharePoint.Utilities;
SPUtility.SendEmail(SPContext.Current.Web, false, false,
"[email protected]", "subject",
"body");
通用的方式在任何情況下(這裏的SPWeb不可用)讀OutboundMailService
發送電子郵件在SPUtility
中使用的設置。然後手動創建SmtpClient:
var adminApp = SPAdministrationWebApplication.Local;
var instance = adminApp.OutboundMailServiceInstance;
var server = instance.Server.Address;
var defaultFrom = adminApp.OutboundMailSenderAddress;
var client = new SmtpClient();
client.Host = server;
message.From = new MailAddress(defaultFrom);
...
您也可以將此代碼用於動態郵件ID。此代碼根據用戶獲取郵件。我使用CAML查詢從列表中獲取電子郵件內容的數據。
SPUser AssigUser = oWeb.EnsureUser(Assigned_Username);
SPQuery mquery = new SPQuery();
mquery.Query = @"<Where><Eq><FieldRef Name='Email_x0020_Type' />
<Value Type='Text'>Review - Ready for Review</Value>
</Eq></Where>";
string Emailsub = "";
string Emailbody = "";
SPList mList = oWeb.Lists["Email Content"];
SPListItemCollection itemcollection = mList.GetItems(mquery);
foreach (SPListItem item in itemcollection)
{
Emailsub = item["Email Subject"].ToString();
Emailbody = item["Email Content"].ToString();
SPUtility.SendEmail(oWeb, false, false, AssigUser.Email, Emailsub,
Emailbody + "</br>" + oWeb.Url);
break;
}
你能解釋這段代碼何時有用嗎?它看起來非常具體,並沒有真正添加任何接受的答案。當然,你可以從列表或當前用戶獲取參數...也許我錯過了這裏的觀點。 – Kobi 2012-11-22 07:04:28
使用過載與StringDictionary參數(source)
StringDictionary headers = new StringDictionary();
headers.Add("to", currCtxt.Web.CurrentUser.Email);
headers.Add("cc", "[email protected]");
headers.Add("bcc", "");
headers.Add("from", "[email protected]");
headers.Add("subject", "Email Subject");
headers.Add("content-type", "text/html");
string bodyText = "Hello how are you?";
SPUtility.SendEmail(currCtxt.Web, headers, bodyText.ToString());
這使用了在CA管理員指定的地址。如果你想從地址定製,請使用普通的.net類。 – ArjanP 2009-07-05 11:58:24