Email 通过身份验证向多个收件人发送电子邮件
我正在尝试通过Powershell发送电子邮件。我可以使用下面的代码向一个收件人发送电子邮件,而不会出现问题。但是,当我向Email 通过身份验证向多个收件人发送电子邮件,email,powershell,Email,Powershell,我正在尝试通过Powershell发送电子邮件。我可以使用下面的代码向一个收件人发送电子邮件,而不会出现问题。但是,当我向$EmailTo变量添加第二个收件人时,我不会收到电子邮件。我也没有收到任何错误。我做了一些研究,似乎SMTP客户端发送电子邮件的方式不需要多个收件人 $EmailFrom=”sender@email.com" $EmailTo=”recipient1@email.com" $EmailBody=“测试主体” $EmailSubject=“测试主题” $Username=”
$EmailTo
变量添加第二个收件人时,我不会收到电子邮件。我也没有收到任何错误。我做了一些研究,似乎SMTP客户端发送电子邮件的方式不需要多个收件人
$EmailFrom=”sender@email.com"
$EmailTo=”recipient1@email.com"
$EmailBody=“测试主体”
$EmailSubject=“测试主题”
$Username=”carlos@email.com"
$Password=“12345”
$Message=新对象Net.Mail.MailMessage($EmailFrom、$EmailTo、$EmailSubject、$EmailBody)
$SMTPClient=新对象Net.Mail.SMTPClient(“smtp.com”,123)#可以更改端口
$SMTPClient.EnableSsl=$true
$SMTPClient.Credentials=新对象System.Net.NetworkCredential($Username,$Password);
$SMTPClient.Send($Message)
我尝试使用sendmailmessage
命令,但它给了我一些问题
发送邮件-从$EmailFrom-到$EmailTo-Subject$EmailSubject`
-smtpserver smtp.com-使用SSL`
-凭证(新对象系统.NetworkCredential(“$Username”,“$Password”))
我得到的错误是
找不到类型[System.NetworkCredential]
有没有关于通过身份验证向多个收件人发送电子邮件的最佳方式的想法?类名是,而不是System.NetworkCredential
更改此项:
发送邮件-从$EmailFrom-到$EmailTo-Subject$EmailSubject`
-smtpserver smtp.com-使用SSL`
-凭证(新对象系统.NetworkCredential(“$Username”,“$Password”))
为此:
发送邮件-从$EmailFrom-到$EmailTo-Subject$EmailSubject`
-SmtpServer smtp.com-使用SSL`
-凭证(新对象网络凭证($Username,$Password))
问题应该会消失。确保用逗号分隔
$EmailTo
地址列表,并且不要作为数组传递。i、 e:
这样做:
$EmailTo = "recipient1@email.com,recipient2@email.com"
$EmailTo = "recipient1@email.com","recipient2@email.com"
不要这样做:
$EmailTo = "recipient1@email.com,recipient2@email.com"
$EmailTo = "recipient1@email.com","recipient2@email.com"
或者这个:
$EmailTo = "recipient1@email.com;recipient2@email.com"
最后一个将抛出以下异常,您很容易注意到:
新对象:使用“4”参数调用“.ctor”时发生异常:“指定字符串的格式不是电子邮件地址所需的格式。”