Socket发送邮件——java

来源:互联网 发布:赛尔网络 吴建平 编辑:程序博客网 时间:2024/06/03 19:44

直接上代码吧,根据代码中的注释进行理解

import java.io.*;import java.net.*;import sun.misc.*;public class SendEmail {PrintWriter output;BufferedReader input;String string;Socket socket = null;String user = "308727233@qq.com";public SendEmail() {try {socket = new Socket("smtp.126.com", 25);output = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));input = new BufferedReader(new InputStreamReader(socket.getInputStream()));output.println("helo 126");output.flush();System.out.println(input.readLine());//验证登陆output.println("auth login");output.flush();System.out.println(input.readLine());//用户名String username = "rainbow";output.println(new BASE64Encoder().encode(username.getBytes()));output.flush();System.out.println(input.readLine());//密码String password = "*********";output.println(new BASE64Encoder().encode(password.getBytes()));output.flush();System.out.println(input.readLine());//发件人output.println("mail from: <rainbow@126.com>");output.flush();System.out.println(input.readLine());//收件人output.println("rcpt to: <" + this.user + ">");output.flush();System.out.println(input.readLine());//内容output.println("data");output.flush();System.out.println(input.readLine());String con = "From: 网易邮箱<xxx@126.com\r\n";con += "To: <" + this.user + ">\r\n";con = con + "Subject: 网易邮箱提醒\r\n";con = con + "Content-Type: text/plain;charset=\"gb2312\"\r\n";con = con + "\r\n";con = con + "网易邮箱提醒您,有新邮件,请接收\r\n";con = con + ".\r\n";output.println(con);output.flush();System.out.println(input.readLine());System.out.println(input.readLine());socket.close();input.close();output.close();System.out.println("Done");} catch (Exception e) {System.out.println("Error " + e);return;}}public static void main(String[] args) {SendEmail client1 = new SendEmail();}}

当然发送邮件也可以借助于JavaMail来进行发送

原创粉丝点击