2012-12-04 26 views
8

Tôi đang cố gắng để gửi một e-mail bằng cách sử dụng Powershell và GMail, và bây giờ, tôi cố gắng làm như vậy với chức năng này:Gửi mail sử dụng Powershell sau một 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!" 
} 

Và tác phẩm kịch bản này tốt nếu không phải là chúng tôi đang sử dụng Proxy trong mạng của chúng tôi. Làm thế nào tôi có thể sửa đổi chức năng này để có thể gửi e-mail kết hợp với Proxy.
Nói cách khác, làm cách nào tôi có thể kết nối với Proxy và gửi e-mail bằng cách sử dụng máy chủ SMTP bên ngoài.

+0

dude, bạn đã bao giờ con số này ra? Tôi đang đối mặt với cùng một vấn đề. – ash

Trả lời

1

Proxy HTTP và HTTPS không cho phép các kết nối SMTP đi qua chúng.

Nếu bạn đang sử dụng proxy SOCKS, thì bạn có thể tunnel tất cả các kết nối TCP của bạn thông qua nó bao gồm các kết nối SMTP sử dụng TCP.

Sau đó bạn có thể sử dụng WideCap để socksify tất cả các ứng dụng hoặc bạn có thể sử dụng Component pro .Net SMTP client mà hỗ trợ nhiều proxy

Các vấn đề liên quan