8

我正在尝试使用 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 服务器发送电子邮件。

4

1 回答 1

1

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

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

然后,您可以使用WideCap对所有应用程序进行 socksify,或者您可以使用支持代理的Component pro .Net SMTP 客户端

于 2015-12-11T19:02:59.387 回答