zoukankan      html  css  js  c++  java
  • 邮件发送一点心得

    邮件发送一点心得

    左直拳

     

    搞了一下,邮件并没有想象的那么复杂。

    我用的是IIS自带的SMTP服务器。既可以采用命令访问SMTP让它生成邮件,然后发送;也可以自己按照一定的格式,生成邮件文件,丢到<C:/inetpub/mailroot/PickUp>目录,勤劳的SMTP也会立即发送。

    第一种,过程无非就是与SMTP建立一个连接,然后发送些命令,什么“HELO”,什么“DATA”之类,将内容传给它,仅此而已。

    值得一提的是,如果是批量发送,可以建立一次连接,然后重复这些命令,全部发完了再运行“QUIT”命令,然后再断掉连接。

     

    第二种,自己生成邮件。

    格式如下:

    Return-Path:<test@test.com>回车换行符(/r/n) 退回信箱

    From:"test"<test@test.com>回车换行符 发送邮箱

    To:<fuckman@test.com>回车换行符 接收邮箱

    Subject:=?GB2312?B? TUlNRdCt0unLtcP308q8/g==?= 回车换行符 邮件主题 

    其中,“gb2312”部分说明邮件主题的原始内容为gb2312编码的字符文本,“B”部分说明对邮件主题的原始内容按照BASE64方式进行了编码,“TUlNRdCt0unLtcP308q8/g==”为对邮件主题的原始内容进行了BASE64编码后的结果。

    X-Priority:Normal回车换行符

    X-MSMail-Priority:Normal回车换行符

    Importance:Normal回车换行符

    X-Mailer:Huolx.Pubclass回车换行符

    MIME-Version:1.0回车换行符

    Content-Type:text/html;charset="gb2312"回车换行符 邮件是HTML

    Content-Transfer-Encoding:base64回车换行符 正文是BASE64编码

    回车换行符(一定要有这一行,将设置与正文分开

    正文(进行了BASE64编码后的正文内容。其实不编码也可以,直接写正文都行。)

    C#里进行BASE64编码很简单:

                string _Base64Encode(string str)

                {

                    byte[] barray;

                    barray = Encoding.Default.GetBytes(str);

                    return Convert.ToBase64String(barray);

            }


    IIS SMTP的文件夹用途

    Pickup:拾取待发送邮件,用户将待发邮件投入此文件夹。

    Queue:保存传送过程中的邮件,因网络繁忙、目标服务器无响应等原因不能一次发送成功的邮件暂存在此等待继续发送。
    Drop:接收所有传入邮件。
    Badmail:存放不能投递且不能返回发送者的邮件(称为死信)。

     
  • 相关阅读:
    codevs 1086 栈 2003年NOIP全国联赛普及组
    1200 同余方程 2012年NOIP全国联赛提高组
    【bzoj4939】【YNOI2016】掉进兔子洞(莫队)
    洛谷P3674 小清新人渣的本愿(莫队)
    Lucas卢卡斯定理
    组合数学习笔记
    洛谷P3178 [HAOI2015]树上操作(线段树)
    洛谷P3258 [JLOI2014]松鼠的新家(树上差分+树剖)
    洛谷P2526 [SHOI2001]小狗散步(二分图匹配)
    bzoj3140: [Hnoi2013]消毒(二分图)
  • 原文地址:https://www.cnblogs.com/leftfist/p/4258264.html
Copyright © 2011-2022 走看看