#22001/10/19 9:39:56
Frame frame=new Frame();
private int Smtp_Port=25;//这是邮件服务器默认的端口号
在程序初始中可以用
Smtp_Port=Integer.parseInt(getParameter("port"));//得到端口号
发送按钮的程序:
void buttonSendMail_actionPerformed(ActionEvent e)
{
SendMail();//调用SendMail()方法来发送邮件
textArea1.setText("");
}
取消按钮的程序:
void buttonReset_actionRerformed(ActionEvent e)
{
textField1.setText("");
textField2.setText("");
textArea1.setText("");
//将界面中清空
}
上面的两个按钮事件。下面我们来编写这个程序的主要方法,发送邮件方法。
void SendMail()
{
String SenderAddress=textField2.getText();//得到发信人地址
String GeterAddress=textField1.getText();//得到收信人地址
StringTokenizer ad=new StringTokenizer(SenderAddress,"@");//建一个StringTokenizer对象
int count=ad.countTokens();
//的到以@为分割标志的内容是不是两个。下面来判断
if(count!=2)
{//如果不是2则说明邮件地址错误
MessageDialog mdlg=new MessageDialog(frame,"邮件地址错误","你的发信人地址有误,请重新填写正确!",1);
mdlg.show();//显示对话框
textField2.selectAll();
return;
}
String SenderName=ad.nextToken();//得到@标志前的信息
String SenderHost=ad.nextToken();//得到@标志后的信息
count=ad.countTokens();
if(count!=2)
{//判断邮件地址是否正确
MessageDialog mdlg=new MessageDialog(frame,"邮件地址错误","收件人地址错误,请您重新填写!",1);
mdlg.show();
text.Field1.selectAll();
return;
}
String GeterName=ad.nextToken();
String GeterHost=ad.nextToken();
try
{
Socket s=new Socket(GeterHost,Smtp_Port);
//建立一个Socket对象
PrintStream out=new PrintStream(s.getOutputStream());
//建立一个输出对象
out.println("HELLO:"+SenderName);
out.println("Mailto:"+SenderName);
out.println("Pcptto:"+GeterName);
out.println("Data");
out.println(".");
out.println("Quit");
MessageDialog mdlg=new MessageDialog(frame,"邮件地址正确","恭喜,您的邮件发送成功!".1);
mdlg.show();
}
catch(Exception e)
{
System.out.println(e.toString());
MessageDialog mdlg=new MessageDialog(frame,"邮件发送有错误",e.toString(),1);
mdlg.show();
return;
}
}
给你写了个,就这样了。
编辑历史:[这消息被5D大叔编辑过(编辑时间2001-10-19 20:38:12)]