javamail发送邮件--sendmail

原创 2005年02月28日 16:50:00

package com.mail;

import org.apache.log4j.Logger;

import java.util.* ;
import java.io.*;
import org.apache.log4j.Logger;
import javax.mail.* ;
import javax.mail.internet.* ;
import javax.activation.* ;

/*
*   @author Administrator
*   发送邮件
*/
public class SendMail {
    static Logger logger = Logger.getLogger(SendMail.class);
//定义收件人、发送人、主题等
String to="",from="",host="",filename="",messagetext="",subject="";
boolean debug=false;
//保存发送的文件名
Vector vfile = new Vector(10,10);
//保存发送的正文
Vector vmsg = new Vector(10,10);
public SendMail() {}
public SendMail(String to,String from,String smtpServer,String subject)
{
//初始化收件人、发送人、主题
this.to=to;
this.from=from;
this.host=smtpServer;
this.subject=subject;
}
//收集附加文件
public void attachfile(String fname)
{
vfile.addElement(fname);
}
//收集邮件正文
public void setMessage(String msg)
{
vmsg.addElement(msg);
}
//设置调试标志
public void setDebug(boolean debug)
{
this.debug=debug;
}
//邮件发送函数
public boolean startSend()
{
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
Session session=Session.getDefaultInstance
(props, null);
session.setDebug(debug);
try {
//创建一个消息,并初始化该消息的各项元素
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address={new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO,address);
msg.setSubject(subject);
//把message part加入新创建的Multipart
Multipart mp = new MimeMultipart();
// 邮件内容的第一部分
Enumeration emsg=vmsg.elements();
while(emsg.hasMoreElements())
{
messagetext=emsg.nextElement().toString();
MimeBodyPart mbp1=new MimeBodyPart();
mbp1.setText(messagetext);
mp.addBodyPart(mbp1);
}
vmsg.removeAllElements();
// 邮件内容的第二部分
Enumeration efile=vfile.elements();
while(efile.hasMoreElements())
{
MimeBodyPart mbp2=new MimeBodyPart();
filename=efile .nextElement().toString();
FileDataSource fds=new FileDataSource(filename);
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());
mp.addBodyPart(mbp2);
}
vfile.removeAllElements();
// 把MultiPart加入邮件
msg.setContent(mp);
// 设置邮件头的发送日期
msg.setSentDate(new Date());
// 发送邮件
Transport.send(msg);
} catch (MessagingException mex) {
mex.printStackTrace();
Exception ex = null;
if ((ex=mex.getNextException())!=null)
{
ex.printStackTrace();
}
return false;
}
return true;
}//end public void startSend()
public static void main(String[] args)
{
    String topic = "test";
    String sendto = 123@123.com;
   String sendfrom = "123@123.com";
    SendMail sendmail=new SendMail(sendto,"sendfrom","email.123.com",topic);
    sendmail.attachfile("SendMail.java");
    sendmail.attachfile("SendMail.class");
    sendmail.setMessage(topic);
    sendmail.startSend();
}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

发送邮件代码 SendMail

ossec 修改sendmail.c源码发送邮件

因为公司需求在部署ossec是发现不能收到报警邮件,查看log提示信息也是非常的少,经过查看一些博客,文档发现ossec发送邮件是不想邮箱服务器发送验证信息的,所以我们常用的邮箱基本都会当做垃圾邮件或...

java发送邮件sendmail

安装简单SMTP_sendmail发送邮件

安装简单sendmail发送邮件 1,安装 yum install -y sendmail* rpm -aq | grep sendmail sendmail-doc-8.13.8-2.el5...
  • ws_zll
  • ws_zll
  • 2012-06-29 11:15
  • 20378

sendmail命令启动很慢的解决方法及不能发送邮件

即一定要配置一个hostname 和 127.0.0.1 的对应映射 最近折腾VPS的在启动sendmail遇到一个问题就是运行service sendmail star...

Ubuntu 中sendmail 的安装、配置与发送邮件的具体实现

from: http://mars914.iteye.com/blog/1470961 author: mars914 一、安装       ubuntu中sendmail函数可以很方便...
  • flex4
  • flex4
  • 2012-07-11 17:19
  • 1697

linux Busybox 使用自带sendmail发送邮件以及php mail函数相应配置

 Linux下Busybox 内嵌的sendmail是用于发送邮件的命令,但某些busybox版本不支持“mail”命令,因此,要想发送邮件,需要这样做:   首先,要确保你的发件人邮箱已开...

PHP发送邮件函数sendmail()

不需要邮件服务器,不使用mail内置函数,一个类就搞定,利用PHPMailer类我写了一个自定义函数 sendmail() ,VERY实用! 以前也在几个PHP论坛上发表过这个发邮件的函数,今天再发...

Linux下sendmail发送邮件

sendEmail的主页http://caspian.dotconf.net/menu/Software/SendEmail/ 下载地址http://caspian.dotconf.net/menu...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)