zoukankan      html  css  js  c++  java
  • DirectSmtpClient 邮件直接发送 (跳过邮件中转服务器)

    大部分人都知道发送邮件可以用 SmtpClient 连到中转服务器上来发送邮件。
    哪我们能知道邮件到底有没有发送成功呢。 也许有人会建议说搞一个 POP3 来收邮件, ok这是思路之一。
    但是有一个问题是你在用这个邮件发送的时候你常常直接提示别人说邮件已经发送成功,这似乎不是很好。

    我们来看一下传统寄邮件的流程, 我们信放到邮箱, 然后邮局的人会把信送到某个人哪边,
    简单的抽象后邮局就是相当于中转服务器, ok。 哪我直接把哪封信投到对方家里的邮箱是不是也是ok的了?

    电子邮件同样可以这样做。哪我什么知道对方家在哪里,这个实际上就记录在 MX记录里 MX Mail Exchanger 邮件交换记录 主要有两个值  MX preference(优先级越小的优先级越大) , mail exchanger 地址了(可以是A记录 Cname,ip)



    通过Windows自带的的一个小程序 NsLooup 我们就可以查询到这些了

    ok得到哪个地址后你就可以直接发送了.. 如果还想玩命令行你就可以 Telnet 163mx00.mxmail.netease.com 
    (一些系统如Vista Telnet好象默认没开,要自己去开)
    然后按照邮件发送的协议一行一行敲下去了。

    ok现在我们来看一下如何使用c#来完成这些工作
    里面核心部分同样还是协议 Socket通信,
    我们去://www.codeproject.com/ 搜一下就可以找到好多现成的DNS查询组件可以使用了
    (曾经也有人喜欢用C#调用Nslookup)
    我这边用的是 DNSQuery


    Code
    同样通过这个,或者自己架的smtp服务器,我们可以干很多的坏事。
    DirectSMTPClient.rar

    (发邮件的过程类似于传统的邮件过程,你将信放到信箱(中转服务器) 邮递员将信 放到收件人的信箱 ,收信人去拿信。)
    (反垃圾邮件是由接收者设制的。有很多规则,每个产商都可能不一样。 )
    (用这个发送假冒邮件,后果自已承担。)
  • 相关阅读:
    10、Python的while与死循环
    8、 Python的if分支练习题
    7、 Python中的if多重判断
    6、Python的if判断和两重判断
    5、运算符
    4、数据类型:字典
    placeholder 颜色更改
    禁止video在苹果手机上的自动全屏播放
    点击label出发两次点击事件
    instanceof 和 typeof
  • 原文地址:https://www.cnblogs.com/lovebanyi/p/1540089.html
Copyright © 2011-2022 走看看