2017-01-08 50 views
0

發送時使用PowerShell的Send-MailMessage -From 'Some person <[email protected]> Outlook將顯示在尚未使用Outlook時發送電子郵件的Some Person <[email protected]>格式發送電子郵件,發送者簡單地顯示爲Some Person發送-MAILMESSAGE變化是如何從電子郵件地址顯示在Outlook

是否有任何方法讓Send-MailMessage cmdlet格式化郵件消息,以便Outlook只顯示名稱而不顯示名稱+電子郵件地址?

在這個主題上搜索會返回大量的「如何使用Send-MailMessage」或使用.net的答案,但並不直接解決這個問題。

回答

1

MailAddress類有一個DisplayName屬性,你可以用它來覆蓋這個。

不幸的是,Send-MailMessage只接受字符串作爲參數傳遞給-From參數

嘗試手動使用SmtpClient class,然後重寫的從地址的顯示名稱與this MailAddress constructor

# Create message, add From mailaddress with custom display name 
$Message = New-Object System.Net.Mail.MailMessage 
$Message.From = New-Object System.Net.Mail.MailAddress '[email protected]','Some Person' 
$Message.To.Add('[email protected]') 
$Message.Subject = 'Exciting email!' 
$Message.Body = @' 
Hi Recipient 

Check my cool display name in Outlook! 

Regards 
Some Person 
'@ 

# Send using SmtpClient 
$SmtpClient = New-Object System.Net.Mail.SmtpClient 'mailserver.fqdn' 
$SmtpClient.Send($Message) 
+0

只是測試和可悲觀拒絕合作。電子郵件的顯示名稱仍然顯示爲'Some Person <[email protected]>' – user4317867

+0

現在'.net'也很固執,因爲''DisplayName'是一個ReadOnly屬性.' – user4317867

+0

@ user4317867是的,你可以只能通過構造函數進行設置。因此,DisplayName屬性在發送之前在PowerShell中顯示爲「Some person」,但Outlook仍顯示「Some Person <[email protected]>」? –

相關問題