Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PowerShell发送电子邮件_Powershell - Fatal编程技术网

使用PowerShell发送电子邮件

使用PowerShell发送电子邮件,powershell,Powershell,我正在尝试从PowerShell发送邮件 $EmailFrom = "xxxxxx@gmail.com" $EmailTo = "xxxxx@gmail.com" $Subject = "Subject" $Body = "Body" $filenameAndPath = "C:\Desktop\EE.txt" $SMTPServer = "smtp.gmail.com" $SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailF

我正在尝试从PowerShell发送邮件

$EmailFrom = "xxxxxx@gmail.com"
$EmailTo = "xxxxx@gmail.com"
$Subject = "Subject"
$Body = "Body"
$filenameAndPath = "C:\Desktop\EE.txt"
$SMTPServer = "smtp.gmail.com"

$SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom, $EmailTo, $Subject, $Body)

$attachment = New-Object System.Net.Mail.Attachment($filenameAndPath)
$SMTPMessage.Attachments.Add($attachment)

$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) 
$SMTPClient.EnableSsl = $true 
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("xxxx@gmail.com", "password"); 
$SMTPClient.Send($SMTPMessage)
运行此代码时,会出现以下异常:

Exception calling "Send" with "1" argument(s): "Failure sending mail." At line:13 char:1 + $SMTPClient.Send($SMTPMessage) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SmtpException 使用“1”参数调用“发送”时出现异常:“发送邮件失败。” 第13行字符:1 +$SMTPClient.Send($SMTPMessage) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:NotSpecified:(:)[],MethodInvocationException +FullyQualifiedErrorId:SmtpException
如何使
$SMTPClient.Send()
正常工作?

您不可以选择
Send MailMessage

您可以执行以下操作:

$EmailFrom = "xxxxxx@gmail.com"
$EmailTo = "xxxxx@gmail.com"
$Subject = "Subject"
$Body = "Body"
$filenameAndPath = "C:\Desktop\EE.txt"
$SMTPServer = "smtp.gmail.com"

Send-MailMessage -From $EmailFrom -To $EmailTo -Subject $Subject -body $Body -Attachments $filenameAndPath -SmtpServer $SMTPServer

这个例子有效吗

##############################################################################
$From = "YourEmail@gmail.com"
$To = "AnotherEmail@YourDomain.com"
$Cc = "YourBoss@YourDomain.com"
$Attachment = "C:\temp\Some random file.txt"
$Subject = "Email Subject"
$Body = "Insert body text here"
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"
Send-MailMessage -From $From -to $To -Cc $Cc -Subject $Subject `
-Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl `
-Credential (Get-Credential) -Attachments $Attachment
##############################################################################
请注意,它要求提供凭据并指定使用SSL。
来自

谢谢您的回复。我对powershell是新手。正如你所说,我继续进行,但没有运气,我收到以下错误。请帮帮我,谢谢你的回复。正如你所说,我继续进行,但没有运气,我收到以下错误。请帮帮我。发送邮件:SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.7.0必须首先发出STARTTLS命令。r76sm7795282pfb.69-第8行gsmtp字符:1+发送邮件消息-从$EmailFrom-到$EmailTo-主题$Subject-董事会…+类别信息:无效操作:(System.Net.Mail.SmtpClient:SmtpClient)[发送邮件]、SmtpException+FullyQualifiedErrorId:SmtpException、Microsoft.PowerShell.Commands.SendMailMessage