zoukankan      html  css  js  c++  java
  • 邮件开发(一)开发准备

    预备知识:

     
    1.电脑基本使用。
    2.qq邮箱使用。
    3.基础java知识。
     

    电子邮件协议

     
    常用的电子邮件协议有SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。
     
    下面是百度百科的解释:
     
    1.SMTP协议
     
    SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循SMTP协议的发送邮件服务器。SMTP认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。
     
    SMTP[2]  已是事实上的E-Mail传输的标准。
     
    2.POP协议
     
    POP邮局协议负责从邮件服务器中检索电子邮件。它要求邮件服务器完成下面几种任务之一:从邮件服务器中检索邮件并从服务器中删除这个邮件;从邮件服务器中检索邮件但不删除它;不检索邮件,只是询问是否有新邮件到达。POP协议支持多用户互联网邮件扩展,后者允许用户在电子邮件上附带二进制文件,如文字处理文件和电子表格文件等,实际上这样就可以传输任何格式的文件了,包括图片和声音文件等。在用户阅读邮件时,POP命令所有的邮件信息立即下载到用户的计算机上,不在服务器上保留。
     
    POP3(Post Office Protocol 3)即邮局协议的第3个版本,是因特网电子邮件的第一个离线协议标准。
     
    3.IMAP协议
     
    互联网信息访问协议(IMAP)是一种优于POP的新协议。和POP一样,IMAP也能下载邮件、从服务器中删除邮件或询问是否有新邮件,但IMAP克服了POP的一些缺点。例如,它可以决定客户机请求邮件服务器提交所收到邮件的方式,请求邮件服务器只下载所选中的邮件而不是全部邮件。客户机可先阅读邮件信息的标题和发送者的名字再决定是否下载这个邮件。通过用户的客户机电子邮件程序,IMAP可让用户在服务器上创建并管理邮件文件夹或邮箱、删除邮件、查询某封信的一部分或全部内容,完成所有这些工作时都不需要把邮件从服务器下载到用户的个人计算机上。
     
    支持种IMAP的常用邮件客户端有:ThunderMail,Foxmail,Microsoft Outlook等。
     
    总结:
     
    我们发送邮件使用smtp协议,邮件在邮件服务器之间传输使用的也是smtp协议,我们从邮件服务器读取邮件使用pop协议。
     
    QQ邮件服务器:
     
     

    准备:

    一)打开系统的Telnet客户端功能
    1.打开"控制面板":

     

    2.点击"程序":

     

    3.点击"打开或关闭Windows功能":

     

    4.勾选"Telnet客户端",点击"确定":

     

    二)开启qq邮箱的POP3/SMTP服务
    1.打开qq邮箱的首页,点击"设置":

     

    2.选择"邮箱设置"的"账户":

     

    3.下滑到这里:
     

     

    4.点击POP3/SMTP服务右边的"开启"按钮,弹出以下界面:

     

    5.按照要求发送短信后,点击我已发送,出现下面的界面:
    6.记住授权码,这很重要!!!
     
    三)base64编码工具类:
    package com.zby.mail;

    import java.io.IOException;

    import sun.misc.BASE64Encoder;

    public class Base64Util {
     public static void main(String[] args) throws IOException {
      BASE64Encoder encoder = new BASE64Encoder();
      String username = "填写自己的qq邮箱账号";
      String password = "填写自己的授权码";
      System.out.println("邮 箱:"+encoder.encode(username.getBytes()));
      System.out.println("授权码:"+encoder.encode(password.getBytes()));
     }
    }
     将自己的qq邮箱账号和授权码填写进去,运行代码。
  • 相关阅读:
    我深知黑暗,但心向光明(记毕业后第一次在北京求职)
    CF 1200E HASH模板
    CF580D
    CF1433F
    CF1451 E1交互题
    11.23-11.29 训练计划
    11.22 CF总结 #682
    sql问题:备份集中的数据库备份与现有的 '办公系统' 数据库不同
    内容导出成word
    让超链接无法跳转的方法
  • 原文地址:https://www.cnblogs.com/zby9527/p/6565540.html
Copyright © 2011-2022 走看看