简体   繁体   English

如何使用 PowerShell 脚本从通用电子邮件地址发送 Outlook 电子邮件?

[英]How to send an outlook email from generic email address using PowerShell script?

I am trying to automate sending email task using PowerShell script.我正在尝试使用 PowerShell 脚本自动发送电子邮件任务。

I want to send an email using generic (common) email address, not using current logged in user.我想使用通用(通用)电子邮件地址发送电子邮件,而不是使用当前登录的用户。

I have tried SentOnBehalfOfName property, but no luck, it is still sent an email from current logged in user.我已经尝试过SentOnBehalfOfName属性,但没有运气,它仍然从当前登录的用户发送了一封电子邮件。

For an exmaple,例如,

My email address is : abc@outlook.net我的电子邮件地址是:abc@outlook.net

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

Here, I want to send an email from common@outlook.net from any computer.在这里,我想从任何计算机上从common@outlook.net发送电子邮件。

Below is my code that I have tried so far.以下是我迄今为止尝试过的代码。

$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() 

Please let me know, how can I accomplish it?请让我知道,我怎样才能完成它? Thank you in Advance.先感谢您。

I will use native System.Net.SMTPClient:我将使用本机 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)

用户帐户需要为该通用帐户启用Send on Behalf权限,我已经使用在我的 Outlook 中设置的 2 个通用帐户进行了测试,并具有上述权限: Microsoft - 代表另一个用户发送电子邮件

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM