這幾天開發的從數據庫抓起數據處理完已郵件發出來,只實現的To的個人的發送,To的群組,CC的個人和群組,BCC的個人和群組都沒有成功。試了好久,感覺是Exchange服務器配置的問題,但又無法訪問Exchange的服務器,所以暫時先放棄完善。
測試的過程中了解好多只是,現在記錄一下
下面的代碼示例演示如何通過使用發送一封電子郵件SmtpClient, MailAddress,和MailMessage類。
public static void CreateCopyMessage(string server) { MailAddress from = new MailAddress("ben@contoso.com", "Ben Miller"); MailAddress to = new MailAddress("jane@contoso.com", "Jane Clayton"); MailMessage message = new MailMessage(from, to); // message.Subject = "Using the SmtpClient class."; message.Subject = "Using the SmtpClient class."; message.Body = @"Using this feature, you can send an email message from an application very easily."; // Add a carbon copy recipient. MailAddress copy = new MailAddress("Notification_List@contoso.com"); message.CC.Add(copy); SmtpClient client = new SmtpClient(server); // Include credentials if the server requires them. client.Credentials = CredentialCache.DefaultNetworkCredentials; Console.WriteLine("Sending an email message to {0} by using the SMTP host {1}.", to.Address, client.Host); try { client.Send(message); } catch (Exception ex) { Console.WriteLine("Exception caught in CreateCopyMessage(): {0}", ex.ToString() ); } }
MailAddress類由SmtpClient和MailMessage類來存儲地址信息的電子郵件。
郵件地址組成User名稱,Host名稱和 (可選) DisplayName。 DisplayName可以包含非 ASCII 字符,如果對它們進行編碼。
MailAddress類支持以下郵件地址格式:
-
簡單的地址格式為
user@host
。 如果DisplayName未設置,這是生成的郵件地址格式。 -
標准帶引號的顯示名稱格式的
"display name" <user@host>
。 如果DisplayName設置,這是生成的格式。 -
前后添加引號DisplayName為
display name <user@host>
,如果這些信息將不包含。 -
中支持 Unicode 字符DisplayName屬性。
-
一個User名稱加上引號。 例如
"user name"@host
。 -
在用戶名中的連續和尾隨點。 例如
user...name..@host
。 -
用括號括起來的域原義字符。 例如
<user@[my domain]>
。 -
注釋。 例如
(comment)"display name"(comment)<(comment)user(comment)@(comment)domain(comment)>(comment)
。 在傳輸之前會刪除注釋。
使用逗號來分隔的郵件地址列表中的元素。 因此,不應在列表中的帶引號的顯示名稱中使用逗號。 允許以下郵件地址:
"John, Doe" <user@host>, "Bob, Smith" <user2@host>
不允許以下郵件地址:
John, Doe <user@host>, Bob, Smith <user2@host>
引號可嵌入到帶引號的字符串,但它們必須進行轉義。 允許以下郵件地址:
"John \"Jr\" Doe" <user@host>
"\"John \\\"Jr\\\" Doe\" <user@host>"
不允許以下郵件地址:
"John "Jr" Doe" <user@host>
用戶名時注意加引號,開頭的字符串 (或以逗號) 之間的所有文本,且地址被認為是一部分DisplayName,包括注釋。 例如:
(non comment) unquoted display (non comment) name (non comment) <user@host>
盡管MailAddress類接受有效、 其他郵件服務器將不會接受郵件地址的郵件地址。
MailAddress類不支持以下郵件地址格式:
-
混合使用帶引號和不帶引號的顯示名稱。 例如
display "name" <user@host>
。 -
組,如在 RFC 2822 第 3.4 IETF 發布的節中定義。
-
過時的用戶的名稱格式
"user"."name"@host
,user."name"@host
或"user".name@host
。
MailAddress Class
https://docs.microsoft.com/zh-cn/dotnet/api/system.net.mail.mailaddress?view=netframework-4.7.2
MailMessage.CC
MailMessage