java.io.PrintStream;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;public class SendMail
{ public SendMail()
{
} public boolean Send(String s, Vector vt, String s2, String s3)
{
try
{
Properties properties = new Properties();
Session session = Session.getInstance(properties, null);
properties.put("mail.smtp.host", "smtp.jltg.com.cn");
properties.put("mail.smtp.auth", "true");
MimeMessage mimemessage = new MimeMessage(session);
mimemessage.setFrom(new InternetAddress(s));
mimemessage.setSubject(s2);
mimemessage.setSentDate(new Date());
mimemessage.setText(s3);
Transport transport = session.getTransport("smtp");
transport.connect("smtp.jltg.com.cn", 25, "jserkang", "liu911"); for(int i=0;i<vt.size();i++){
String str = ()vt.elementAt(i);
if(str != null && !str.equals("")){
InternetAddress internetAddress = new InternetAddress(str);
mimemessage.setRecipient(javax.mail.Message.RecipientType.TO, internetAddress);
transport.sendMessage(mimemessage, mimemessage.getAllRecipients());
}
}
transport.close();
System.out.println("\u53D1\u9001\u6210\u529F");
return true;
}
catch(MessagingException messagingexception)
{
System.out.println(messagingexception.toString());
}
return false;
}
public static void main(string args[])
{ SendMail aa=new SendMail();}
上面只是一点简单的改动,其实TO 里面可以设置多个地址,有问题再研究如:
String userIds = "[email protected],[email protected],[email protected]";
InternetAddress[] toAddrs = InternetAddress.parse(userIds, false);
msg.setRecipients(Message.RecipientType.TO, toAddrs);
解决方案 »
- 菜鸟求助:java线程中的等待唤醒。没怎么理解到!
- 请教各位:ExtJs与GWT在JAVA开发中哪个更好用,大家有其他的做页面的技术么?
- 哪个是ibatis的开发包呀
- jsp页面charset=gb2312改成utf8之后成了乱码。如果还希望用utf8的话。应该怎样做?
- ibm mq 6.0性能为什么那么差?
- 关于struts+spring的配置问题
- java在linux和windows上面的差异问题
- Apache Soap上为何一个简单的服务都不能部署 【求助】
- jsp传数组参数问题?
- struts中一个页面如何显示多个FormBean?
- 高分相送请教在Java下开发SNMP的问题——谢谢
- XML schema 小问题。.....
File updir=new File(userAttachPath);
//userAttachPath 是附件文件所在目录
if(updir.exists()){
upfiles=updir.listFiles();
if (upfiles.length>0){
String filename="";
MimeMultipart mmp = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
mbp.setText(text);
mbp.setHeader("Content-Type","text/plain; charset=iso-8859-1");
mmp.addBodyPart(mbp);
for(int i=0;i<upfiles.length;i++){
filename=upfiles[i].getName();
if (filename != null && !filename.equals("")) {
//加成 邮件大小 +附件
mailLength+=upfiles[i].length();
mbp = new MimeBodyPart();
mbp.setFileName(filename);
FileDataSource fds = new FileDataSource(userAttachPath+filename);
mbp.setDataHandler(new DataHandler(fds));
mmp.addBodyPart(mbp);
} //end if
} //end for
msg.setContent(mmp);
} //**IF(upfiles.length!=0){**
} //**IF (updir.exists()){
else {
msg.setContent(text,"text/plain");
}
不过循环中一次其实是可以发给多个地址的,上面有说到的
并不一定一次循环发给一个人 这样没效率
附件放在那里都行,只要你知道就行啊
一般发邮件附件都是传上来的,位置当然由你的程序决定。
或者比较特殊的话,你指定一个位置放附件文件
【转】
在整理网友的文章的时候,发现一个javamail的总结,特此谢谢the_east_key,并且公布给大家,希望对大家有做帮助,全文如下:
本文章对:
发送普通邮件,接受普通邮件
发送带有附件的邮件,接收带有附件的邮件
发送html形式的邮件,接受html形式的邮件
发送带有图片的邮件等做了一个总结。 http://expert.csdn.net/Expert/topic/1177/1177970.xml?temp=.3405115
E:\whdzsw\dzsw\WEB-INF\classes>javac sendmail1.java
Registry key 'Software\Java Runtime Environment\CurrentVersion'
has value '1.4',not '1.3'is required.
Error:could not find java.dll
Error:coule not fing java 2 Runtime Environment.
我出现了这样的错误,我不知道问题出现在那,请高手指点,谢谢。
这是什么错误
我怎么解决