2012-12-04 23 views
8

Sto cercando di inviare una e-mail utilizzando PowerShell e GMail, e per ora, sono riuscito a farlo con questa funzione:Invia mail utilizzando PowerShell dietro un proxy

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!" 
} 

E Questo script funziona bene se non fosse il fatto che stiamo usando un proxy all'interno della nostra rete. Come posso modificare questa funzione per poter inviare e-mail in combinazione con il proxy.
In altre parole, come posso connettermi al proxy e inviare un messaggio di posta elettronica utilizzando un server SMTP esterno.

+0

tizio, hai mai capire questo? Sto affrontando lo stesso problema. – ash

risposta

1

I proxy HTTP e HTTPS non consentono il passaggio di connessioni SMTP.

Se si utilizza un proxy SOCKS, è possibile eseguire il tunneling di tutte le connessioni TCP attraverso di esso, comprese le connessioni SMTP che utilizzano TCP.

È quindi possibile utilizzare WideCap per socksify tutte le applicazioni oppure è possibile utilizzare Component pro .Net SMTP client che supporta delega