zoukankan      html  css  js  c++  java
  • smtp

    Linux mail命令使用

    http://blog.csdn.net/c395565746c/article/details/6011731

    linux c/c++ 发送邮件程序的附件问题

    http://bbs.csdn.net/topics/340224854

    Ubuntu下使用最常用的mail功能,需要安装mailutils,安装命令:sudo apt-get install mailutils
    使用带附件的功能,则还需要安装sharutils,安装命令:sudo apt-get install sharutils;yum install sharutils
    redhat下需要启动sendmail服务:/etc/init.d/sendmail start

    常用发送邮件方式如下:

        1.如何写一般的邮件: mail flynewton@gmail 编辑抄送对象,邮件主题,邮件正文后,按Ctrl-D结束

        2.快速发送方式: echo “邮件正文” | mail -s 邮件主题 flynewton@gmail.com

        3.以文件内容作为邮件正文来发送: mail -s test flynewton@gmail.com < test.txt

        4.发送带附件的邮件: uuencode 附件名称 附件显示名称 | mail -s 邮件主题 发送地址

           例如: uuencode test.txt test.txt | mail -s Test flynewton@gmail.com

     

    linux mail命令用法

    http://www.cnblogs.com/xiaoshi1991/archive/2012/09/20/2695061.html

    Linux下自动发送邮件程序

    http://blog.csdn.net/redeg/article/details/6167429

    自动发送邮件的本质其实就是socket交互,发送一系列验证信息、邮件信息等。流程大致如下:

        1. 初始化socket,包括设置邮件服务器地址和端口;

        2. 连接至邮件服务器,获取欢迎信息;

        3. 发送验证消息,包括EHLO、AUTH LOGIN、用户名和密码等,要注意的是,用户名和密码必须经过base64编码,这个linux系统本身就带了这个工具;

        4. 发送标题和正文,需要注意编码。

        整个过程中需要注意的是宽字符与ASCII码之间的转换,因为诸如邮件内容可能是宽字符的,而socket函数,比如send之类的所用的buffer则是char 的指针或数组。

    smtp连接和发送过程

    (1)建立TCP 连接。
    (2)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;服务器端正希望以OK作为响应,表明准备接收。
    (3)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;服务器端则表示是否愿意为收件人接收邮件。
    (4)协商结束,发送邮件,用命令DATA发送。
    (5)以“.”号表示结束输入内容一起发送出去,结束此次发送,用QUIT命令退出。
     
     

    libcurl发送邮件C++类

    http://blog.csdn.net/jaylong35/article/details/7210291

    stmp正常的报文:

      1 220 mail.nationalchip.com ESMTP M3M
      2 EHLO yingc@nationalchip.com
      3         : 250-mail.nationalchip.com
      4 250-PIPELINING
      5 250-SIZE 26624000
      6 250-ETRN
      7 250-STARTTLS
      8 250-AUTH PLAIN LOGIN
      9 250-AUTH=PLAIN LOGIN
     10 250-ENHANCEDSTATUSCODES
     11 250-8BITMIME
     12 250 DSN
     13 AUTH LOGIN
     14         : 334 VXNlcm5hbWU6
     15 。。。。。。。。。。。//邮箱
     16         : 334 UGFzc3dvcmQ6
     17 .。。。。。。。。。。//mima
     18         : 235 2.7.0 Authentication successful
     19 MAIL FROM: <yingc@nationalchip.com>
     20         : 250 2.1.0 Ok
     21 RCPT TO: <jingzhishen@126.com>
     22         : 250 2.1.5 Ok
     23 DATA
     24         : 354 End data with <CR><LF>.<CR><LF>
     25
     26 .
     27         : 250 2.0.0 Ok: queued as 73D2E170001
     28 QUIT
     29         : 221 2.0.0 Bye

      1 220 mail.nationalchip.com ESMTP M3M
      2 EHLO yingc@nationalchip.com
      3         : 250-mail.nationalchip.com
      4 250-PIPELINING
      5 250-SIZE 26624000
      6 250-ETRN
      7 250-STARTTLS
      8 250-AUTH PLAIN LOGIN
      9 250-AUTH=PLAIN LOGIN
     10 250-ENHANCEDSTATUSCODES
     11 250-8BITMIME
     12 250 DSN
     13 AUTH LOGIN
     14         : 334 VXNlcm5hbWU6
     15 。。。。。。。。。。
     16         : 334 UGFzc3dvcmQ6
     17 。。。。。。。。。。
     18         : 535 5.7.8 Error: authentication failed: UGFzc3dvcmQ6//密码验证错误
     19 MAIL FROM: <yingc@nationalchip.com>
     20         : 250 2.1.0 Ok
     21 RCPT TO: <jingzhishen@126.com>
     22         : 553 5.7.1 <yingc@nationalchip.com>: Sender address rejected: not logged in
     23 DATA
     24         : 554 5.5.1 Error: no valid recipients
     25
     26 .
     27         : 221 2.7.0 Error: I can break rules, too. Goodbye.
     28 QUIT
     29         :

    当不调用recv而总是send报文时,将会发送不成功,具体原因未知:

    250 2.1.0 Ok 250 2.1.5 Ok 503 5.5.0 <DATA>: Data command rejected: Improper use of SMTP command pipelining 221 2.7.0 Error: I can break rules, too. Goodbye.

  • 相关阅读:
    PCA (主成分分析)详解 (写给初学者) 结合matlab(转载)
    解释一下核主成分分析(Kernel Principal Component Analysis, KPCA)的公式推导过程(转载)
    主成分分析(PCA)原理详解(转载)
    神经网络的6种有监督训练算法
    PyCharm下载与激活
    matlab中元胞数组的创建与内容读取
    创新式开发探索(四) —— 探索式学习
    耐心,细心,贴心,静心
    使用 JsPlumb 绘制拓扑图的通用方法
    使用 amcharts 和 highcharts 绘制多曲线时间趋势图的通用方法
  • 原文地址:https://www.cnblogs.com/jingzhishen/p/3613968.html
Copyright © 2011-2022 走看看