使用Powershell在代理后面发送邮件

时间:2012-12-04 09:32:12

标签: email proxy powershell-v2.0

我正在尝试使用Powershell和GMail发送电子邮件,而现在,我设法使用此功能:

function sendMail{
    $EmailFrom = “me@gmail.com”
    $EmailTo = “info@company.com”
    $Subject = “Subject”
    $Body = “Hellow”
    $SMTPServer = “smtp.gmail.com”
    $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
    $SMTPClient.EnableSsl = $true
    $SMTPClient.Credentials = New-Object System.Net.NetworkCredential(“username”, “password”);
    $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

    Write-Host "All done!"
}

如果不是我们在网络中使用代理的事实,这个脚本工作得很好。如何修改此功能以便能够与代理服务器一起发送电子邮件 换句话说,如何使用外部SMTP服务器连接到代理并发送电子邮件。

1 个答案:

答案 0 :(得分:1)

HTTP和HTTPS代理不允许SMTP连接通过它们。

如果您使用的是SOCKS代理,则可以通过它连接所有TCP连接,包括使用TCP的SMTP连接。

然后,您可以使用WideCap来设置所有应用程序,也可以使用支持代理的Component pro .Net SMTP client