//package com.mail.www;
import javax.mail.*;
import java.util.*;
import javax.mail.internet.*;
import java.io.*;
import javax.activation.*;
import org.eclipse.swt.SWT;
public class SwtMail{
public Properties pro = System.getProperties();
public Session session = null;
public MimeMessage message = null;
public MimeMultipart content = null;
public MimeBodyPart text = null;
public MimeBodyPart fujian = null;
public SwtSendMail swtSendMail = null;
public SwtMail(SwtSendMail swtSendMail){
this.swtSendMail = swtSendMail;
pro.setProperty("mail.smtp.protocol","SMTP");
pro.setProperty("mail.smtp.host","smtp.163.com");
pro.setProperty("mail.smtp.port","25");
pro.setProperty("mail.smtp.auth","true");
session = Session.getDefaultInstance(pro,null);
}
public MimeMessage productMessage(String subject,String t,String fileName){
message = new MimeMessage(session);
content = new MimeMultipart();
if(t != null&&t!=""&&subject!=null&&subject!=""){
try{
message.setSubject(subject);
message.setSentDate(new Date());
message.setFrom();
}catch(MessagingException e){
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_INFORMATION,e.getMessage());
}
text = new MimeBodyPart();
try{
text.setText(t,"text/plain");
content.addBodyPart(text);
message.setContent(content);
message.saveChanges();
}catch(MessagingException ee){
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_INFORMATION,ee.getMessage());
}
}
if(fileName != null&& fileName != ""){
fujian = new MimeBodyPart();
File f = new File(fileName);
DataSource source = new FileDataSource(f);
DataHandler data = new DataHandler(source);
try{
fujian.setDataHandler(data);
String name = MimeUtility.encodeText(f.getName());
fujian.setFileName(name);
content.addBodyPart(fujian);
message.setContent(content);
message.saveChanges();
}catch(MessagingException eee){
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_INFORMATION,eee.getMessage());
}
catch(UnsupportedEncodingException ue){
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_INFORMATION,ue.getMessage());
}
}
return message;
}
public void sendMessage(MimeMessage message,String reciveName){
int index =reciveName.indexOf("@");
int lastIndex = reciveName.lastIndexOf("@");
String fileName = null;
if(reciveName != null&& reciveName != ""){
if (swtSendMail.subjectText.getText() == null||swtSendMail.subjectText.getText() == "")
{
swtSendMail.showMessage(swtSendMail.shell,SWT.YES|SWT.NO,"确定不需要邮件主题");
}
if (swtSendMail.content.getText() == null || swtSendMail.content.getText() == "")
{
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_QUESTION,"确定不需要邮件正文");
}
message = productMessage(swtSendMail.subjectText.getText(),swtSendMail.content.getText(),swtSendMail.fujianText.getText());
if(index == -1){
File f = new File(reciveName);
if(f.exists()){
fileName = f.getName();
if (fileName.substring(fileName.lastIndexOf(".")+1).trim().equals("txt"))
{
BufferedReader in = null;
try
{
in = new BufferedReader(new FileReader(f));
}
catch (FileNotFoundException n)
{
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_INFORMATION,n.getMessage());
}
String temp = null;
String recipients = null;
int i = 0;
int count = 0;
try
{
while((temp=in.readLine()) !=null&&temp != ""&&temp != "\t"){
int dex = temp.indexOf("@");
int lastDex = temp.lastIndexOf("@");
if (dex == -1||(dex != lastDex))
{
i++;
count++;
//System.out.print(i);
//System.out.print(count);
//System.out.print(temp);
if (i == 10)
{
in.close();
break;
}
}//也可使用continue
else{
if (i%10==0)
{
recipients = temp;
}
if (i%10 != 0)
{
recipients +="," + temp;
}
i++;
if(i%10 == 0){
if (count != 0)
{
in.close();
break;
}else{
send(message,recipients);
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_INFORMATION,"恭喜您的邮件发送成功!");
System.out.println("恭喜! 您的邮件发送成功!");
System.out.println("收件人: "+recipients+"\n"+"邮件主题: "+swtSendMail.subjectText.getText()+"\n 附件: "+swtSendMail.fujianText.getText()+"\n 邮件正文: "+swtSendMail.content.getText());
in.close();
break;
}
}
}
}
if ((i==0 ||i<10)&&count != 0)
{
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_WARNING,"请重新输入收件人!收件人文件为空或数量不足十个\n收件人文件中有"+count+"个邮箱地址格式错误");
}
else{
if (count != 0)
{
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_ERROR,"收件人文件中有"+count+"个邮箱地址格式错误");
}
else{
if (i==0 || i<10)
{
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_WARNING,"请重新输入收件人!收件人文件为空或数量不足十个");
}
}
}
}
catch (IOException io)
{
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_INFORMATION,io.getMessage());
}
}
else{
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_ERROR,"收件人文件格式不是txt格式");
}
}
else{
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_WARNING,"收件人姓名文件不存在或收件人地址格式错误!");
}
}
else{
if (index != lastIndex)
{
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_ERROR,"邮件地址输入错误!");
}
else{
send(message,reciveName);
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_INFORMATION,"恭喜您的邮件发送成功! ");
System.out.println("恭喜! 您的邮件发送成功!");
System.out.println("收件人: "+reciveName+"\n 邮件主题: "+swtSendMail.subjectText.getText()+"\n 附件: "+swtSendMail.fujianText.getText()+"\n 邮件正文: "+swtSendMail.content.getText());
}
}
}else
{
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_WARNING,"收件人不能为空!");
}
//catch(NoSuchProviderException e){}
}
public void send(MimeMessage message,String name){
try{
message.setRecipients(MimeMessage.RecipientType.BCC,name);
Transport transport = session.getTransport();
transport.send(message);
}catch(MessagingException e){
swtSendMail.showMessage(swtSendMail.shell,SWT.ICON_INFORMATION,e.getMessage());
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java的swt界面邮件发送软件
共5个文件
jar:2个
java:2个
dll:1个
4星 · 超过85%的资源 需积分: 10 47 下载量 178 浏览量
2009-11-29
17:38:04
上传
评论 1
收藏 1.49MB RAR 举报
温馨提示
java的swt界面邮件发送软件,代码完全由本人编写,包括两个java程序文件,可直接拷到eclipse中运行即可,压缩包中还包含其他的配制文件供想在editplus中运行得人用。
资源推荐
资源详情
资源评论
收起资源包目录
java的swt界面邮件发送软件.rar (5个子文件)
swt界面邮件发送软件
mail.jar 374KB
swt-win32-3236.dll 320KB
swt.jar 1.2MB
SwtMail.java 7KB
SwtSendMail.java 4KB
共 5 条
- 1
资源评论
- zhangtanhust022014-05-03代码很有用,有参考价值,可以学习一下
- phoinix_tech2015-01-13功能不全 不建议下载
- lxwaw2012-12-13界面不错 Mail 不能发送是还没写吗
- 拉格纳2014-02-18界面太简单了。。。功能也不多。不值得10分
- flzvg2013-06-04功能不全啊
a372048518
- 粉丝: 19
- 资源: 43
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功