【发布时间】:2014-05-11 13:01:52
【问题描述】:
需要通过带有凭据和 starttls 的私人 smtp 服务器发送电子邮件。看了很多教程,仍然无法建立 starttls 通信。
我的代码:
$smtpServer = "smtp.xserver.cz"
#Creating a Mail object
$msg = new-object Net.Mail.MailMessage
#Creating SMTP server object
$smtp = new-object Net.Mail.SmtpClient($smtpServer, 25)#587 works
$smtp.EnableSsl = $false
$smtp.Credentials = New-Object System.Net.NetworkCredential("myuser@xserver.cz","mypassword"); #yes, correct login, tried via Thunderbird
#Email structure
$msg.From = "info@xserver.cz"
$msg.To.Add("testtest@gmail.com")
$msg.subject = "subject"
$msg.IsBodyHTML = $true
$msg.body = "AAA"+"<br /><br />"
$ok=$true
try{
$smtp.Send($msg)
Write-Host "SENT"
}
catch {
Write-Host "`tNOT WORK !!!!!"
$error[0]
$_.Exception.Response
$ok=$false
}
finally{
$msg.Dispose()
}
if($ok){
Write-Host "`tEVERYTHING OK"
}
需要使用 .Net 对象和类,而不是第三方库,或者 Powershell 中的 Send-MailMessage,因为 Send-MailMessage 没有附件发送选项。
【问题讨论】:
标签: powershell