您的位置:首页 > 其它

telnet发送邮件Base64加密

2016-05-29 22:52 381 查看
//在命令符里试了用telnet发送邮件,但是QQ邮箱的权限真的好恶心啊!





QQ要把这里的IMAP/SMIP服务打开。也没有163邮箱,所以就写个代码,测试也不知道对不对了!需要的就把QQ邮箱换成163邮箱好了。

贴代码:

public static void mailClient(){

String username = "xxxxxxx@qq.com";
String username1 = "xxxxxxx@qq.com";
String password = "xxxxxxx";

String basename = encoder(username.substring(0, username.indexOf("@")).getBytes());
String basename1 = encoder(username1.substring(0, username.indexOf("@")).getBytes());
String basepassword = encoder(username1.getBytes());

try {
Socket aSocket = new Socket("smtp.qq.com", 25);
InputStream aStream =  aSocket.getInputStream();
OutputStream bStream = aSocket.getOutputStream();
 
BufferedReader aReader = new BufferedReader(new InputStreamReader(aStream));
System.out.println(aReader.readLine());
PrintWriter aWriter = new PrintWriter(bStream);

aWriter.println("HELO xxx");
System.out.println(aReader.readLine());

aWriter.println("AUTH LOGIN");
System.out.println(aReader.readLine());
aWriter.println(basename);
System.out.println(aReader.readLine());
aWriter.println(basepassword);

aWriter.println("MAIL FROM:<"+username+">");
System.out.println(aReader.readLine());
aWriter.println("RCPT TO:<"+username1+">");

aWriter.println("DATA");
System.out.println(aReader.readLine());

aWriter.println("SUBJECT:abcdabcd");
aWriter.println("FROM:"+username);
aWriter.println("TO:"+username1);
aWriter.println("abcdabcd");
System.out.println(aReader.readLine());

aWriter.println("REST");
System.out.println(aReader.readLine());
aWriter.println("QUIT");
System.out.println(aReader.readLine());

aReader.close();

} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

public static String encoder(byte[] data)
{
//加密
String aString = new BASE64Encoder().encode(data);
return aString;
}
public static String decoder(String data)
{
try {
byte[] b  = new BASE64Decoder().decodeBuffer(data);

return new String(b);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: