java Socket 发送邮件

本文介绍了一个使用 Java 通过 SMTP 协议发送电子邮件的示例程序。该程序连接到指定的 SMTP 服务器,进行身份验证,并发送一封包含简单文本内容的邮件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
}


}


转载请保留出处: http://www.taotuike.cn/364.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值