Smtpclient 用于发送SMTP电子邮件的Powershell脚本失败

Smtpclient 用于发送SMTP电子邮件的Powershell脚本失败,smtpclient,Smtpclient,我正在尝试使用.net通过powershell发送和发送电子邮件 我得到以下错误: Exception calling "Send" with "4" argument(s): "Failure sending mail." At line:1 char:1 + $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我正在尝试使用.net通过powershell发送和发送电子邮件

我得到以下错误:

Exception calling "Send" with "4" argument(s): "Failure sending mail."
At line:1 char:1
+ $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : SmtpException
使用以下脚本:

$EmailFrom = "myemail@gmail.com"
$EmailTo = "anotheremail@gmail.com"
$Subject = "test" 
$Body = @"
test
"@
$SMTPServer = "smtp.gmail.com" 
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25) 
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("myemail@gmail.com", "mypassword"); 
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
是什么导致了这种异常?谢谢

这起作用了:

$EmailTo = "myself@gmail.com"
$EmailFrom = "me@mydomain.com"
$Subject = "Test" 
$Body = "Test Body" 
$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("username", "password"); 
$SMTPClient.Send($SMTPMessage)

或者你可以用它看起来会有用。我需要学习如何从提供的powershell脚本创建cmdlet。如果cmdlet可以工作,那么内联脚本不也可以工作吗?