如何使用http代理,同时通过SmtpClient发送电子邮件
本文关键字:SmtpClient 电子邮件 http 何使用 代理 | 更新日期: 2023-09-27 18:17:58
我可以通过以下方式与雅虎电子邮件发送电子邮件。但我的问题是,我也可以使它的方式,计算机将使用代理连接雅虎服务器?我的意思是使用代理连接连接雅虎smpt服务器。这可能吗?谢谢你
public static bool func_SendEmail(string srFrom, string srSenderEmail, string srSenderEmailPw,
string srHtmlBody, string srTextBody, string srTitle, string srProxy)
{
try
{
using (MailMessage message = new MailMessage(new MailAddress(srSenderEmail, srFrom), new MailAddress(srSenderEmail)))
{
message.ReplyTo = new MailAddress(srSenderEmail, srFrom);
message.IsBodyHtml = false;
message.Subject = srTitle;
message.SubjectEncoding = System.Text.Encoding.UTF8;
AlternateView textPart = AlternateView.CreateAlternateViewFromString(srTextBody, Encoding.UTF8, "text/plain");
textPart.TransferEncoding = System.Net.Mime.TransferEncoding.QuotedPrintable;
message.AlternateViews.Add(textPart);
AlternateView htmlPart = AlternateView.CreateAlternateViewFromString(srHtmlBody, Encoding.UTF8, "text/html");
htmlPart.TransferEncoding = System.Net.Mime.TransferEncoding.QuotedPrintable;
message.AlternateViews.Add(htmlPart);
message.BodyEncoding = Encoding.UTF8;
using (SmtpClient oSmtp = new SmtpClient())
{
oSmtp.Host = "smtp.mail.yahoo.com";
oSmtp.Credentials = new NetworkCredential(srSenderEmail, srSenderEmailPw);
oSmtp.EnableSsl = false;
oSmtp.Port = 587;
oSmtp.Send(message);
}
}
}
catch
{
return false;
}
return true;
}
好了,这个问题和这个不一样,通过http代理发送邮件
这个问题特别问的是如何使用代理
另一方面,我的问题是如何使用http代理连接另一个邮件服务器发送电子邮件
在这种情况下,我想使用线程,代理为每个线程和从这每个线程连接到雅虎smtp服务器使用http代理发送电子邮件
谢谢
System.Net.GlobalProxySelection.Select = new WebProxy(address,port);
更新:System.Net.GlobalProxySelection.Select
已被弃用
如果你使用它,你会得到一个警告:
这个类已被弃用。请使用WebRequest。DefaultWebProxy而是访问和设置全局默认代理。使用'null'代替GetEmptyWebProxy。http://go.microsoft.com/fwlink/?linkid=14202
用这个代替:
WebRequest.DefaultWebProxy = new WebProxy(address,port);