Send-MailMessage更改Outlook中显示的电子邮件地址的方式

时间:2017-01-08 17:53:29

标签: powershell outlook

使用PowerShell发送电子邮件Send-MailMessage -From 'Some person <some.Person@company.com> Outlook将以Some Person <some.person@company.com>格式显示发件人,但当使用Outlook发送电子邮件时,发件人只显示为Some Person < / p>

有没有办法让Send-MailMessage cmdlet格式化邮件消息,以便Outlook只显示名称而不显示名称+电子邮件地址?

搜索此主题可以使用.net返回大量“如何使用Send-MailMessage”或答案,但并未真正直接解决此问题。

1 个答案:

答案 0 :(得分:3)

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 'some.Person@company.com','Some Person'
$Message.To.Add('recipient@company.com')
$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)