javamail支持发送附件的-
只是不知道lz的要求是什么?
只是不知道lz的要求是什么?
解决方案 »
- 一个异常,大家来帮忙分析一下,困扰我一天了,估计是大家都碰到过的
- 给点提示就给分数--在线等待中
- 关于struts-config.xml
- 紧急求救!搜索引擎Lucene2.0创建海量(600万条数据)索引文件!
- errors在session中如何去除?
- 在jsp中调用谷歌地图,随意点两个点,沿着道路生成路线
- 关于s2sh的整合,我使用了annotation映射hibernate数据库以及spring容器管理,但是不知道错在哪里?
- tomcat1.5免安装版+jdk1.5 启动后报错---windows 找不到文件 "-djava.endorsed.dirs="
- JAVA 事件监听为什么会引发两次事件处理?
- 哪有JBuilderX下载
- 请教 iReport 问题
- J2EE的程序员帮帮忙
msg.append("中间可以加入所要发到邮箱的页面");
msg.append("中间可以加入所要发到邮箱的页面");
msg.append("中间可以加入所要发到邮箱的页面");
msg.append("中间可以加入所要发到邮箱的页面");
msg.append("中间可以加入所要发到邮箱的页面");try {
EmailTool emt = new EmailTool(); //实例化下面发送邮件的功能bean
emt.setTo(要发送到的邮箱);
emt.setFrom("发送地址");
emt.setSubject("发送的标题")
emt.setContent(msg.toString()); //内容格式转换
emt.setSmtpHost("邮件服务器地址。自己申请");
emt.setUser("服务器用户名");
emt.setPassword("服务器密码");
emt.startSend();
} catch (Exception e) {}
//注 :注意写法与页面一样,但是页面中的双引号一定要换成单引号
功能bean太长,不让发下个帖子发
import javax.mail.Store;
import javax.mail.internet.*;
import javax.activation.*;
import java.util.*;
import javax.servlet.http.*;
import java.text.SimpleDateFormat;
public class EmailTool {
public EmailTool() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
} private String from;
private String to;
private String user;
private String password;
private String smtpHost;
private String pop3Host;
private String hostName;
private String subject;
private String content;
private String filename;
public String getFrom() {
return from;
} public String getTo() {
return to;
} public String getUser() {
return user;
} public String getPassword() {
return password;
} public String getSmtpHost() {
return smtpHost;
} public String getPop3Host() {
return pop3Host;
} public String getHostName() {
return hostName;
} public String getSubject() {
return subject;
}
public String getContent() {
return content;
} public String getFilename() {
return filename;
}
public void setFrom(String from) {
this.from = from;
} public void setTo(String to) {
this.to = to;
}
public void setUser(String user) {
this.user = user;
} public void setPassword(String password) {
this.password = password;
} public void setSmtpHost(String smtpHost) {
this.smtpHost = smtpHost;
} public void setPop3Host(String pop3Host) {
this.pop3Host = pop3Host;
} public void setHostName(String hostName) {
this.hostName = hostName;
} public void setSubject(String subject) {
this.subject = subject;
} public void setContent(String content) {
this.content = content;
} public void setFilename(String filename) {
this.filename = filename;
}
//sendMail start method
public void startSend() throws MessagingException {
runSend();
} private void runSend() throws MessagingException {
sendMail();
}//receive start method
public void startReceive() throws MessagingException {
runReceive();
} public void runReceive() throws MessagingException {
receiveMail();
}
private void sendMail() throws MessagingException {
try {
// this.smtpHost = this.createSmtpHost();
// Get system properties
// Properties props = System.getProperties();
Properties props = new Properties();
// Setup mail server
props.put("mail.smtp.host", this.smtpHost); props.put("mail.smtp.auth", "false"); //验证 // Get session
Session session = Session.getDefaultInstance(props);
session.setDebug(true);
// Define message
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
//message.setFrom();
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
message.setSubject(this.getSubject());
System.out.println("::"+this.getFilename());
if (this.getFilename() != null) {
BodyPart messagebodyPart = new MimeBodyPart();
messagebodyPart.setContent(this.getContent(),
"text/html;charset=gb2312");
System.out.println("文件名称:" + this.getFilename());
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messagebodyPart);
messagebodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(this.getFilename());
messagebodyPart.setDataHandler(new DataHandler(source));
messagebodyPart.setFileName(this.getFilename());
multipart.addBodyPart(messagebodyPart); // message.setContent(this.content, "text/html;charset=gb2312");
message.setContent(multipart);
message.setSentDate(new java.util.Date()); // Send message
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(this.smtpHost, this.user, this.password); transport.sendMessage(message,
message.getAllRecipients());
transport.close();
System.out.println("发送成功!");
} else {
message.setContent(this.content, "text/html;charset=gb2312");
message.setSentDate(new java.util.Date());
// Send message
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(this.smtpHost, this.user, this.password);
message.saveChanges();
//transport.sendMessage(message, message.getAllRecipients());
transport.sendMessage(message,
message.getRecipients(Message.
RecipientType.TO));
transport.close();
}
} catch (Exception e) {
// System.out.println("aaaaaaaaaa");
e.printStackTrace();
throw new MessagingException("throw in tSql1"); }
} private void receiveMail() throws MessagingException {
Store store = null;
try { store.connect(this.pop3Host, -1, this.user + "@" + this.hostName,
this.password);
} catch (javax.mail.AuthenticationFailedException e) {
content = "用户名与密码不匹配";
}
try {
//open main "INBOX" folder.
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
//Get folder's list of messages.
Message message[] = folder.getMessages();
//Retrieve message headers for each message in folder.
FetchProfile fp = new FetchProfile(); fp.add(FetchProfile.Item.ENVELOPE);
fp.add(FetchProfile.Item.FLAGS);
fp.add("X-Mailer");
folder.fetch(message, fp); String contentbody = "";
String mailFrom = "";
String mailTime = "";
String mailSubject = "";
String mailFileName = "";
Database database = new Database();
//Address f[]=new Address[folder.getMessageCount()];
for (int j = 0; j < folder.getMessageCount(); j++) {
//get mail from
Object f = message[j].getFrom();
mailFrom = (String) f;
//get mail subject
mailSubject = message[j].getSubject();
//get mail file name
mailFileName = message[j].getFileName();
//get mail time
Date t = message[j].getReceivedDate();
SimpleDateFormat bartDateFormat = new SimpleDateFormat(
"yyyy-MM-dd");
mailTime = bartDateFormat.format(t);
//get mail content
Object o = message[j].getContent();
if (message[j].isMimeType("text/plain")) {
contentbody = (String) o + "</td>";
StringBuffer buf = new StringBuffer(contentbody.length() +
6);
char ch = ' ';
for (int p = 0; p < contentbody.length(); p++) { //若遇到换行就转为<br>
ch = contentbody.charAt(p);
if (ch == '\n') {
buf.append("<br>");
} else {
buf.append(ch);
}
}
contentbody = buf.toString();
} else if (message[j].isMimeType("text/html")) {
contentbody = (String) o + "</td>";
}
//database
} } catch (Exception e) { } } public static void main(String[] args) {
/* 可以测试
try {
em.startSend();
} catch (MessagingException ex) {
}
System.out.println("发送完成");
*/
} private void jbInit() throws Exception {
}
}