java 发送邮件昵称_JAVA简单发送邮件

初学JAVA,第一次写用户界面,实现发送邮件,很多不足,希望大家能指出,谢谢~~~

下面是服务程序

import java.net.*;

import java.io.*;

public class MailSenderWithGUI{

private String smtpServer="smtp.cauc.edu.cn";//我校SMTP邮件服务器的主机名

private int port=587;//我校SMTP邮件服务器的端口

private String senderadd="";//发送者邮箱地址

private String username="";//发送者用户名

private String password="";//邮箱密码

private String receiveadd="";//收件者邮箱地址

private String title="";//邮件标题

private String message="";//邮件正文

private Message msg;//邮件类

public String ans="";//通信信息

//含参构造函数,传入控件接收的数据,去掉了主函数

public MailSenderWithGUI

(String senderadd,String username,String password,

String receiveadd,String title,String message){

this.senderadd=senderadd;

this.username=username;

this.password=password;

this.receiveadd=receiveadd;

this.title=title;

this.message=message;

}

public MailSenderWithGUI(){}

public void sendMail(){//发送邮件,去掉了参数

Message msg=new Message(senderadd,receiveadd,title,message);

Socket socket=null;//创建未连接的套接字

try{

socket = new Socket(smtpServer,port);//连接到邮件服务器

BufferedReader br =getReader(socket);//套接字缓冲字符输入流

PrintWriter pw = getWriter(socket);//套接字缓冲字符输出流

String localhost= InetAddress.getLocalHost().getHostName();//客户主机的名字

//对用户名和口令进行base64编码

username = new BASE64Encoder().encode(username.getBytes());

password = new BASE64Encoder().encode(password.getBytes());//对口令进行base64编码

//表示通信过程的字符串添加数据

ans=ans.concat(sendAndReceive(null,br,pw)+"\n");//接收服务器的响应数据

ans=ans.concat(sendAndReceive("HELO " + localhost,br,pw)+"\n");

ans=ans.concat(sendAndReceive("AUTH LOGIN",br,pw)+"\n");//认证命令

ans=ans.concat(sendAndReceive(username,br,pw)+"\n");//用户名

ans=ans.concat(sendAndReceive(password,br,pw)+"\n");//口令

ans=ans.concat(sendAndReceive("MAIL FROM: " + msg.from+"",br,pw)+"\n");

ans=ans.concat(sendAndReceive("RCP

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值