使用WebProxy发送邮件

System.Net.WebProxy proxy  =   new  System.Net.WebProxy( " itgproxy.redmond.corp.microsoft.com:80 " );
            proxy.Credentials 
=  System.Net.CredentialCache.DefaultCredentials;
            System.Net.GlobalProxySelection.Select 
=  proxy;
            MailMessage m 
=   new  MailMessage();
            m.From 
=  tbFrom.Text;
            m.To 
=  tbTo.Text;
            m.Subject 
=  tbSubject.Text;
            m.Body 
=  tbBody.Text;
            
// 优先级
             switch (ddlp.SelectedIndex)
            
{
                
case 0:
                    m.Priority 
= MailPriority.High;
                    
break;
                
case 1:
                    m.Priority 
= MailPriority.Low;
                    
break;
                
default:
                    m.Priority 
= MailPriority.Normal;
                    
break;
            }

            
// 格式
             if (ddlp.SelectedIndex == 0 )
                m.BodyFormat 
=  MailFormat.Text;
            
else
                m.BodyFormat 
=  MailFormat.Html;
            
// 以下设置服务器
             if (tbServer.Text != "" )
            
{
                
                
//以下代码适用于Framework1.1以上版本。
                
//SmtpMail.SmtpServer = tbServer.Text;
//                m.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",
//                    "1");    //basic authentication
//                m.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",
//                    tbUserName.Text); //set your username here
//                m.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",
//                    tbPass.Text);    //set your password here
            }

            
// 以下处理附件 
             string  strFileName  =  FileSelect.PostedFile.FileName;
            
if (strFileName != "" )
                m.Attachments.Add(
new  MailAttachment(strFileName));
            SmtpMail.Send(m);
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现支持Web Mail的邮件发送代理,可以使用Python的socket模块来实现。以下是一个简单的实现过程: 1. 建立一个监听代理端口的服务器socket,并等待客户端的连接。 2. 当客户端连接上来后,代理服务器会解析客户端发来的HTTP请求报文,获取到目标邮件服务器的地址和端口号,以及邮件的相关信息。 3. 代理服务器使用socket模块连接目标邮件服务器,并将用户发来的邮件信息转发给目标服务器。 4. 目标邮件服务器处理邮件信息后,将结果返回给代理服务器。 5. 代理服务器将目标服务器返回的结果转发给用户的浏览器,完成邮件发送操作。 下面是一个简单的示例代码: ```python import socket # 监听代理端口 proxy_host = 'localhost' proxy_port = 8888 proxy_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) proxy_socket.bind((proxy_host, proxy_port)) proxy_socket.listen(1) while True: # 等待客户端连接 client_socket, client_address = proxy_socket.accept() # 解析HTTP请求报文,获取目标邮件服务器地址和端口号 request_data = client_socket.recv(1024) request_lines = request_data.decode().split('\r\n') target_host = '' target_port = 0 for line in request_lines: if line.startswith('Host:'): target_host = line.split(': ')[1] if line.startswith('X-Forwarded-Port:'): target_port = int(line.split(': ')[1]) # 连接目标邮件服务器 target_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) target_socket.connect((target_host, target_port)) # 转发邮件信息 target_socket.sendall(request_data) while True: data = target_socket.recv(1024) if not data: break client_socket.sendall(data) # 关闭连接 target_socket.close() client_socket.close() ``` 需要注意的是,以上代码只是一个简单的示例,实际应用中还需要考虑安全性、错误处理等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值