首页 > 解决方案 > 如何使用 PowerShell 脚本从通用电子邮件地址发送 Outlook 电子邮件?

问题描述

我正在尝试使用 PowerShell 脚本自动发送电子邮件任务。

我想使用通用(通用)电子邮件地址发送电子邮件,而不是使用当前登录的用户。

我已经尝试过SentOnBehalfOfName财产,但没有运气,它仍然是当前登录用户发送的电子邮件。

例如,

我的电子邮件地址是:abc@outlook.net

通用(通用)电子邮件地址是:common@outlook.net

在这里,我想common@outlook.net从任何计算机发送电子邮件。

以下是我迄今为止尝试过的代码。

$Outlook = New-Object -Com Outlook.Application
$Mail = $Outlook.CreateItem(0)
$Mail.SentOnBehalfOfName = "common@outlook.net"
$Mail.To = "abc@****.net"
$Mail.Subject = "Test Email"
$Mail.Body = "Testing"
$Mail.Send()
$Outlook.Quit() 

请告诉我,我该如何完成?先感谢您。

标签: powershellemailoutlook

解决方案


我将使用本机 System.Net.SMTPClient:

$to = 'mailadress1'
$from = 'mailadress2'
$onBehalfOf = 'mailadress3'
$subject = "powershell send on behalf"
$body = "body"
$smtpserver = "an SMTP server in your domain"
$mailer = new-object Net.Mail.SMTPclient($smtpserver) 
$msg = new-object Net.Mail.MailMessage($from,$to,$subject,$body)
$msg.Sender = $onBehalfOf
$mailer.send($msg)

推荐阅读