2009-05-10 42 views
5

Tôi đang cố gắng gửi email từ một hệ thống kết nối với internet thông qua proxy http được đặt trong Tùy chọn Internet.Gửi thư qua proxy http

Tôi đang sử dụng SmtpClient.

Có cách nào để gửi thư bằng SmtpClient thông qua cài đặt proxy này không. Cảm ơn

+0

@Anthony, tôi tin rằng anh ấy đang giới thiệu lớp SmtpClient. –

Trả lời

3

Tôi hiểu rằng bạn muốn sử dụng cài đặt mặc định của trình duyệt, tôi cũng muốn có câu trả lời cho điều đó.

Trong khi đó, bạn có thể thực hiện thủ công.

MailAddress from = new MailAddress("[email protected]"); 
    MailAddress to = new MailAddress("[email protected]"); 

    MailMessage mm = new MailMessage(from, to); 
    mm.Subject = "Subject" 
    mm.Body = "Body"; 

    SmtpClient client = new SmtpClient("proxy.mailserver.com", 8080); 
    client.Credentials = new System.Net.NetworkCredential("[email protected]", "password"); 

    client.Send(mm); 
5

Http Proxy kiểm soát lưu lượng truy cập http, họ hiếm khi có bất kỳ điều gì liên quan đến SMTP. Tôi chưa bao giờ nghe nói về proxy SMTP trước khi sau khi tất cả SMTP chính nó là bản chất hỗ trợ một chuỗi các "proxy" đến máy chủ SMTP đích.

+0

Bạn có thể ủy quyền SMTP để nói một bộ lọc spam. Nơi bộ lọc thư rác sẽ đánh giá email và chuyển tiếp nó đến máy chủ SMTP. –

+0

@Charles: Giống như tôi đã nói trong câu trả lời STMP thực chất là một loạt các "proxy" đến đích. Một bộ lọc thư rác chỉ đơn giản là một máy chủ SMTP khác trong chuỗi. – AnthonyWJones

+0

Tôi tin rằng điều đó là có thể. Các thành phần thông minh được triển khai một: http://www.clevercomponents.com/products/inetsuitenet/smtpclientnet.asp nhưng dường như không đáng mua nó – Salar

0

Nếu truy cập duy nhất bạn có vào internet là thông qua HTTP, thì cách duy nhất bạn có thể thực hiện điều này là thiết lập VPS (hoặc equiv) với SSH trên cổng 443 và sử dụng nút chai (hoặc putty) để ssh xuyên qua đường hầm. Từ đó nó là một vấn đề đơn giản để chuyển tiếp lưu lượng smtp trên đường hầm ssh của bạn.

Lưu ý rằng bạn có thể vi phạm chính sách tính toán của công ty nếu bạn thực hiện việc này.