2012-12-04 12 views
8

próbuję wysłać wiadomość e-mail za pomocą PowerShell, a Gmail i do tej pory udało mi się zrobić z tej funkcji:Wyślij pocztę przy użyciu PowerShell za pełnomocnika

function sendMail{ 
    $EmailFrom = “[email protected]” 
    $EmailTo = “[email protected]” 
    $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!" 
} 

i ten skrypt działa dobrze, gdyby nie fakt, że używamy proxy w naszej sieci. W jaki sposób mogę zmodyfikować tę funkcję, aby móc wysyłać wiadomości e-mail w połączeniu z serwerem proxy.
Innymi słowy, w jaki sposób mogę połączyć się z serwerem proxy i wysłać wiadomość e-mail przy użyciu zewnętrznego serwera SMTP.

+0

Koleś, czy kiedykolwiek tego dowiedzieć? Stoję w obliczu tego samego problemu. – ash

Odpowiedz

1

Serwery proxy HTTP i HTTPS nie zezwalają na przekazywanie połączeń przez SMTP.

Jeśli korzystasz z proxy SOCKS, możesz tunelować wszystkie połączenia TCP za jego pośrednictwem, w tym połączenia SMTP, które używa TCP.

Następnie można użyć WideCap do socksify wszystkie aplikacje lub użyć Component pro .Net SMTP client który obsługuje proxy

Powiązane problemy