功能是发送ul地址的html到邮件.其中的图片会随同邮件一同发给和户.
package com.fswan.memo;
import java.io.ioexception;
import java.io.inputstream;
import java.net.malformedurlexception;
import java.net.url;
import java.text.simpledateformat;
import java.util.arraylist;
import java.util.date;
import java.util.properties;
import java.util.regex.matcher;
import java.util.regex.pattern;
import javax.activation.datahandler;
import javax.mail.authenticator;
import javax.mail.message;
import javax.mail.messagingexception;
import javax.mail.passwordauthentication;
import javax.mail.session;
import javax.mail.transport;
import javax.mail.internet.internetaddress;
import javax.mail.internet.mimebodypart;
import javax.mail.internet.mimemessage;
import javax.mail.internet.mimemultipart;
/**
* @author swan fong(方志文)
*
*/
public class testmail
{
public static final string ul = "http://www.qxzw.com/htmpage/0/14/123.htm" ;
public static void main(string[] args)
{
try
{
url url = new url(ul);
// inputstream ins = url.openstream();
sendmail(url,"newsbot@yeah.net","smtp.yeah.net");
} catch (malformedurlexception e)
{
e.printstacktrace();
}
}
public static void sendmail(url url,string mail,string smtpserver)
{
system.out.println("send");
mimemultipart mp = new mimemultipart();
string idstr = new simpledateformat("hhmmsss").format(new date());
system.out.println(idstr);
try
{
inputstream ins = url.openstream();
stringbuffer sb = new stringbuffer();
byte[] conts = new byte[10240];
int len = ins.read(conts);
while (len > 0)
{
sb.append(new string(conts,0,len));
// system.out.println(new string(conts));
// conts = new byte[10240];
len = ins.read(conts);
}
string con = sb.tostring();
string con2 = sb.tostring();
sb = new stringbuffer();
string regex = "<img .*src=\"?([^\">]*)\"?.*/?\\s*>";
pattern p = pattern.compile(regex);
matcher m = p.matcher(con);
arraylist _mailattachment = new arraylist();
int lastpos = 0;
while (m.find())
{
sb.append(con.substring(lastpos, m.start()));
sb.append(m.group().replaceall(m.group(1), "cid:" + idstr + _mailattachment.size()));
_mailattachment.add(new url(url, m.group(1)));
lastpos = m.end();
}
sb.append(con.substring(lastpos, con.length()));
mimebodypart mbp2 = new mimebodypart();
mbp2.setcontent(sb.tostring(),"text/html; charset=gb2312");
mp.addbodypart(mbp2);
for (int i = 0; i < _mailattachment.size(); i++)
{
mimebodypart mbp = new mimebodypart();
mbp.setdatahandler(new datahandler((url)_mailattachment.get(i)));
mbp.setheader("content-id",idstr+i);
mp.addbodypart(mbp);
}
properties prop = new properties();
prop.put("mail.smtp.host", smtpserver);
prop.put("mail.smtp.auth", "true");
session s = session.getinstance(prop, new authenticator(){
public passwordauthentication getpasswordauthentication()
{
return new passwordauthentication("newsbot@yeah.net", "fswan123");
}
});
mimemessage message = new mimemessage(s);
message.setsubject("mail");
message.setfrom(new internetaddress(mail));
message.setrecipient(message.recipienttype.to, new internetaddress(mail));
message.setcontent(mp);
transport.send(message);
} catch (malformedurlexception e)
{
e.printstacktrace();
} catch (ioexception e)
{
e.printstacktrace();
} catch (messagingexception e)
{
e.printstacktrace();
}
system.out.println("finished");
}
}
文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




