Java编写BASE64编码程序
要成功地发送和接收邮件,用户名和密码(邮箱和授权码)需要BASE64编码后才能有效传输。
/*
* BASE64.java
* Copyright (c) 2020-12-21
* author : Charzous
* All right reserved.
*/
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import java.io.IOException;
public class BASE64 {
public static void main(String[] args) throws IOException {
String userName="你的邮箱";
String authCode="生成的授权码";
//显示邮箱名的base64编码结果
System.out.println(encode(userName));
//显示授权码的base64编码结果
System.out.println(encode(authCode));
}
public static String encode(String str){
return new BASE64Encoder().encode(str.getBytes());
}
}
最后生成类似字符串:
Y3poX2NoYXJ6ZXVzQHFxLmNvbQ==
三、telnet命令发送邮件
1、打开命令提示符,输入
telnet smtp.qq.com 25
2、按顺序输入,举例如下:
HELO hostname //回车,hostname可以是IP或其他随意别名
AUTH LOGIN //回车后,先粘贴base64程序编码的完整邮箱名并回车;再粘贴base64编码的授权码并回车
MAIL FROM: //在这里填写自己的邮箱地址,用于发送邮件(注意冒号后面别有空格)
RCPT TO: //接收方的邮箱,在这里暂时填写和上面一样的邮箱地址,即自己发送邮件给自己,验证是否成功
DATA //回车,接下来开始发送邮件头相关内容
Subject: the simple mail // 邮件的标题,回车
//在这里再多发送一行空行,来分隔邮件内容,下面就是邮件正文内容
Hello,the mail content!
测试发送邮件! //控制台中中文会变成?的乱码,但不影响接受者接收到中文内容
. //在邮件正文发送完毕后,单独用一行输入一个小圆点,作为结束标志,然后回车
QUIT //结束通信(含4次握手断开)
龙华大道1号 http://www.kinghill.cn/Dynamics/2106.html