Socket发送邮件——java

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

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来进行发送

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值