• 通过telnet使用smtp协议发送邮件


    smtp协议是一个简单的邮件传输协议,利用它我们可以将邮件发送给别人,这里将通过telnet这个程序利用smtp协议从网易向gmail发送一封邮件

    网上不少有说使用telnet发送邮件的文章,我也看过了,多数的步骤是这样的

    1、使用telnet连接smtp服务器
    2、发送一个helo或者ehlo指令
    3、验证用户(使用邮件名登陆)
    4、使用mail命令准备发送邮件
    5、使用rcpt命令指定对方邮箱地址
    6、使用data命令开始输入内容
    7、输入test或者hello world类似字样(即邮件内容)
    8、输入邮件内容结束标志.
    9、退出smtp服务器

    [root@newsclub east]# telnet smtp.163.com 25    //登陆 smtp.163.com 端口号为 25
    Trying 202.108.44.205...
    Connected to smtp.163.com (202.108.44.205).
    Escape character is '^]'.
    220 163.com Coremail SMTP(Anti Spam) System
    HELO localhost // 与服务器打招呼,并告知客户端使用的机器名字,可以随便填写
    250 OK 
    AUTH LOGIN     //使用身份认证登陆指令
    334 dXNlcm5hbWU6
    cmVkc29zMw== //输入已经base64_encode()过的用户名.
    334 UGFzc3dvcmQ6
    MbM2MDQ3NQ== 
    //输入已经base64_encode()过的密码
    235 Authentication successful
    MAIL FROM:<redsos3@163.com> //告诉服务器发信人的地址
    250 Mail OK
    RCPT TO:<yourframe@21cn.com> //告诉服务器收信人的地址
    250 Mail OK
    DATA   //正面开始传输信件的内容,且最后要以只含有 . 的特殊行结束。
    354 End data with <CR><LF>.<CR><LF>
    To:yourframe@21cn.com 
    From:redsos3@163.com
    Subject:test mail
    From:redsos3@163.com
    test body

     //结束传输信件
    250 Mail OK queued as smtp14,F0CPBFsuzUOvoDwE.41582S2
    QUIT //断开连接
    221 Bye
    Connection closed by foreign host.

     
    状态码说明:
    220 : 服务就绪
    250 :请求邮件动作正确,完成(HELO,MAIL FROM,RCPT TO,QUIT 指令执行成功会返回此信息)
    235 :认证通过
    221 :正在处理
    354 :开始发送数据,结束以 .(DATA指令执行成功会返回此信息)
    500 :语法错误,命令不能识别
    550 :命令不能执行,邮箱无效
    552 :中断处理:用户超出文件空间
    hadoop大数据相关
  • 相关阅读:
    Java代理模式精讲之静态代理,动态代理,CGLib代理
    Java文件编译与反编译:javac命令和javap命令
    CAS机制总结
    try-catch-finally 与返回值的修改
    不同分布式锁的实现
    缓存算法(页面置换算法)-FIFO、LFU、LRU
    多线程的线程开销
    谈谈如何来查看GC日志
    JVM中常见的垃圾收集器
    前端大牛 博客集
  • 原文地址:https://www.cnblogs.com/zhangzl/p/4281860.html
Copyright © 2020-2023  润新知