博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 邮件发送服务器(伪别人的邮箱地址发送)
阅读量:4876 次
发布时间:2019-06-11

本文共 3237 字,大约阅读时间需要 10 分钟。

额:被移除首页了,好吧 我在写详细点吧

我本来是想做一个自己的邮箱服务器的,看看协议后些了个接收的,但感觉实在太不安全了,于是就去测速了下别的大公司的邮箱系统,看看是否安全点,测试发现貌似网易163的邮箱服务器貌似是别人的,不是网易自己开发的。。。 开始测试发现一般都能接收成功。。。 但网易的好像有时候要排队,qq的好点,但一般发送到最后一步丫的给我来了个550 ,而且经常是 但有的邮箱发就没事,很是郁闷,弄了好久还是没弄出来,所以发上来求大哥大姐帮帮忙来看看

class Program    {        static void Main(string[] args)        {            //113.108.77.23 //qq邮箱  更多服务器nslookup -qt=mx qq.com            //163mx02.mxmail.netease.com// 163邮箱 更多服务器nslookup -qt=mx 163.com            System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient("163mx03.mxmail.netease.com", 25);//连接接收此邮件的服务器            byte[] bytes = new byte[80];            var count = client.Client.Receive(bytes);//接收服务器返回的状态信息            var sendServer = System.Text.Encoding.ASCII.GetString(bytes);//应该返回220             Console.WriteLine(sendServer);            client.Client.Send(System.Text.Encoding.ASCII.GetBytes("HELO m1.163.com\r\n"));//发送HELO信息            bytes = new byte[80];            count = client.Client.Receive(bytes);//接收服务器返回的状态信息            sendServer = System.Text.Encoding.ASCII.GetString(bytes);//应该返回250             Console.WriteLine(sendServer);            client.Client.Send(System.Text.Encoding.ASCII.GetBytes("MAIL FROM:
\r\n"));//通知服务器邮件的发送者 bytes = new byte[80]; count = client.Client.Receive(bytes);//接收服务器返回的状态信息 sendServer = System.Text.Encoding.ASCII.GetString(bytes);//返回250 则可以继续,否则不能继续了 Console.WriteLine(sendServer); client.Client.Send(System.Text.Encoding.ASCII.GetBytes("RCPT TO:<136420351@163.com>\r\n"));//通知服务器接收邮件的邮箱地址 多个可循环此步骤,但要接收了返回信息在发 bytes = new byte[80]; count = client.Client.Receive(bytes);//接收服务器返回的状态信息 sendServer = System.Text.Encoding.ASCII.GetString(bytes);//返回250 则可以继续,否则不能继续了 Console.WriteLine(sendServer); client.Client.Send(System.Text.Encoding.ASCII.GetBytes("DATA\r\n"));//通知服务器要发生邮件内容了 bytes = new byte[80]; count = client.Client.Receive(bytes);//接收服务器返回的状态信息 sendServer = System.Text.Encoding.ASCII.GetString(bytes);//返回354 则可以继续,否则不能继续了 Console.WriteLine(sendServer); string data = @"From:1049099499
To: 1049099499<136420351@163.com>Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: Base645LiN5aW95oSP5oCd77yM5ou/5L2g6YKu566x5Y+R5LqG5Liq6YKu5Lu2LeOAgi3vvIE=------=_Part_161944_1210153027.551452414."; client.Client.Send(System.Text.Encoding.ASCII.GetBytes(data));//邮件内容,内容是Base64编码的 “不好意思,拿你邮箱发了个邮件-。-!” Console.WriteLine("数据发送完成"); bytes = new byte[80]; count = client.Client.Receive(bytes);//接收服务器返回的状态信息 sendServer = System.Text.Encoding.ASCII.GetString(bytes); Console.WriteLine(sendServer);//返回250 则成功了 550则失败,发送给qq的邮箱失败率很高,不知道为什么,451也是失败,但不知道什么东西 Console.Read(); } }

注意几点:1、发送者和接收着不能是同一个服务器,如:qq的邮箱不能发给qq邮箱,服务器会拒绝

  2、发送失败率很高,原因不知道,我测试把邮件的内容精简了,补齐了一样,求高手解决
   3、我没要推出和清理资源了,反正失败率蛮高
  4、我使用同样的内容,用163的邮件发给我的一个qq成功率100% 但换另外一个qq接收就失败,不知道什么原因

希望大哥大姐们把这个发送失败的原因找出来或让其成功率高点,如果能让成功率高些了的大哥大姐跟我说下,小弟感激不敬-。-!

转载请注明出处:快乐你我-快乐编程

 

转载于:https://www.cnblogs.com/happy-youandme/archive/2013/05/26/3100300.html

你可能感兴趣的文章
pl/sql使用部分整理
查看>>
函数和方法的区别
查看>>
原型(1)------------自我理解
查看>>
个人作业——软件产品案例分析
查看>>
JAVA_学习第二天(四)[ 逻辑运算符(&&)(||)(^)(~)]
查看>>
codeforces 55D 数位dp
查看>>
比特币:一种点对点的电子现金系统
查看>>
JAVA简单插入排序算法
查看>>
安全退出,清空Session或Cookie
查看>>
SGU[180] Inversions
查看>>
厄拉多塞筛(C语言)
查看>>
抽象数据类型的表示与实现
查看>>
【Python】循环语句
查看>>
SpringCloud微服务实战-Zuul路由网关
查看>>
C#优化
查看>>
Nutch1.2 的安装与使用
查看>>
一些基本公式和算法
查看>>
我和Django那些事儿(1)----与Django结缘
查看>>
DLP与上网行为管理的差别总结
查看>>
冬天防静电,绝对有效的办法
查看>>