关于MAIL,大家帮忙啊!100分。。。 大家看看这个贺卡网站,怎么发的?http://card.china.com/card/html_card/2859.html,谢谢大家了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过DNS查找MX记录来发:import java.util.ArrayList;import java.util.Hashtable;import javax.naming.Context;import javax.naming.NamingEnumeration;import javax.naming.NamingException;import javax.naming.directory.Attribute;import javax.naming.directory.Attributes;import javax.naming.directory.DirContext;import javax.naming.directory.InitialDirContext;...String mailAddr = "[email protected]"; //收件人String domain = mailAddr.substring(mailAddr.indexof('@') + 1);Hashtable env = new Hashtable();env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");env.put(Context.PROVIDER_URL, "dns://192.168.5.100/"); //设置DNS服务器DirContext dnsContext = new InitialDirContext(env);Attributes a = dnsContext.getAttributes(domainName, new String[]{ "MX" });NamingEnumeration all = a.getAll();ArrayList tmp = new ArrayList();while (all.hasMore()){ Attribute attr = (Attribute) all.next(); NamingEnumeration values = attr.getAll(); while (values.hasMore()) tmp.add((String) values.next());}String[] hosts = new String[tmp.size()];tmp.toArray(hosts);for(int i=0; i<hosts.length; i++){ //通过hosts[i]发邮件 if(成功) break;} Attributes a = dnsContext.getAttributes(domainName, new String[]{ "MX" });应该改为:Attributes a = dnsContext.getAttributes(domain, new String[]{ "MX" }); http://www.amaxit.net/doc/mail_dns_domain.asphttp://b2b.east.net/bookonline/mail.html#ghttp://www.magicwinmail.com/technic_dns.htm 你不必非要用那些邮件服务器的smtp来发信,你用自己的smtp服务器发信,但发信人和回信地址写用户的地址即可,垃圾邮件就是这么发信的,这也是当前邮件系统的缺点之一。 我这里有个BEAN,调试通过的package bean;import bean.Email_Autherticatorbean;import java.io.*;import java.net.InetAddress;import java.util.Properties;import java.util.Date;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*;public class sendMail { public static void main(String[] argv) { new sendMail(argv); }public sendMail(String[] argv) { //收件人 String to = null; //发件人 String from = null; //主题 String subject = null; //抄送人 String cc = null; //暗抄送 String bcc = null; // mail 主机 String mailhost = null; // mail 内容 String content = null; //MIME邮件对象 MimeMessage mimeMsg = null; //邮件会话对象 Session session = null; //附件的文件名 String fileAttachment = null; String user = null; String password = null; try { mailhost = "smtp.163.com"; from = "[email protected]"; to = "[email protected]"; cc="[email protected]"; subject = "您好wwwwwwwww"; content = "带附件的wwwwwwwwww"; user="test"; password="test"; fileAttachment="c://tis.jpg"; Properties props = System.getProperties(); //获得系统属性 props.put("mail.smtp.host", mailhost); //设置SMTP主机 props.put("mail.smtp.auth","true"); //设置身份验证为真,若须身份验证则必须设为真 //获得邮件会话对象 //session = Session.getDefaultInstance(props,null); //注意下面这行的 Session.getDefaultInstance 方法的第二个参数 session = Session.getDefaultInstance(props, new Email_Autherticatorbean(user,password)); //创建MIME邮件对象 mimeMsg = new MimeMessage( session ); //设置发信人 mimeMsg.setFrom(new InternetAddress( from ) ); if(to!=null){ mimeMsg.setRecipients( Message.RecipientType.TO, InternetAddress.parse( to ) ); } if(cc!=null){ mimeMsg.setRecipients( Message.RecipientType.CC, InternetAddress.parse( cc ) ); } //设置邮件主题 mimeMsg.setSubject(subject,"GBK"); // 第一部分信息 MimeBodyPart mbp1 = new MimeBodyPart(); mbp1.setText( content, "GBK"); // 第二部分信息 MimeBodyPart mbp2 = new MimeBodyPart(); // 在第二部分信息中附加一个文件 FileDataSource fds = new FileDataSource( fileAttachment ); mbp2.setDataHandler(new DataHandler(fds)); mbp2.setFileName(fds.getName()); // 创建 Multipart 并放入每个 MimeBodyPart Multipart mp = new MimeMultipart(); mp.addBodyPart( mbp1 ); mp.addBodyPart( mbp2 ); // 增加 Multipart 到信息体 mimeMsg.setContent( mp ); //发送日期 mimeMsg.setSentDate(new Date()); //发送邮件 Transport.send( mimeMsg ); System.out.println( "email send!"); } catch (Exception e) { e.printStackTrace(); } }} 发现BUG给高分 jsp页面checkbox空值 struts2怎么针对某个包设立拦截器? EL表达式能否做到这样的语句 action 向jsp页面传值 急!!!!! Hibernate入门学习遇到的一个错误,大虾有时间帮忙看看。 apache tomcat 负载均衡问题 jbuilder的配置问题、在下等待 前辈们帮我看一下 程序,详细解释一下,其实就是map和两个循环那块不太明白,谢谢 netty websocket如何实现类似斗地主的分房间发送和接收消息? 高手看看这个分页怎么分?与重不同! 请问如何将ResultSet rs结果集中的数据存进数组
import java.util.Hashtable;import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;...String mailAddr = "[email protected]"; //收件人
String domain = mailAddr.substring(mailAddr.indexof('@') + 1);
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
env.put(Context.PROVIDER_URL, "dns://192.168.5.100/"); //设置DNS服务器
DirContext dnsContext = new InitialDirContext(env);
Attributes a = dnsContext.getAttributes(domainName, new String[]{ "MX" });
NamingEnumeration all = a.getAll();
ArrayList tmp = new ArrayList();
while (all.hasMore())
{
Attribute attr = (Attribute) all.next();
NamingEnumeration values = attr.getAll();
while (values.hasMore())
tmp.add((String) values.next());
}String[] hosts = new String[tmp.size()];
tmp.toArray(hosts);
for(int i=0; i<hosts.length; i++)
{
//通过hosts[i]发邮件
if(成功)
break;
}
应该改为:
Attributes a = dnsContext.getAttributes(domain, new String[]{ "MX" });
http://b2b.east.net/bookonline/mail.html#g
http://www.magicwinmail.com/technic_dns.htm
package bean;
import bean.Email_Autherticatorbean;
import java.io.*;
import java.net.InetAddress;
import java.util.Properties;
import java.util.Date;import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class sendMail { public static void main(String[] argv) {
new sendMail(argv);
}
public sendMail(String[] argv) {
//收件人
String to = null;
//发件人
String from = null;
//主题
String subject = null;
//抄送人
String cc = null;
//暗抄送
String bcc = null;
// mail 主机
String mailhost = null;
// mail 内容
String content = null;
//MIME邮件对象
MimeMessage mimeMsg = null;
//邮件会话对象
Session session = null;
//附件的文件名
String fileAttachment = null;
String user = null;
String password = null;
try
{
mailhost = "smtp.163.com";
from = "[email protected]";
to = "[email protected]";
cc="[email protected]";
subject = "您好wwwwwwwww";
content = "带附件的wwwwwwwwww";
user="test";
password="test";
fileAttachment="c://tis.jpg";
Properties props = System.getProperties(); //获得系统属性
props.put("mail.smtp.host", mailhost); //设置SMTP主机
props.put("mail.smtp.auth","true"); //设置身份验证为真,若须身份验证则必须设为真 //获得邮件会话对象
//session = Session.getDefaultInstance(props,null);
//注意下面这行的 Session.getDefaultInstance 方法的第二个参数
session = Session.getDefaultInstance(props, new Email_Autherticatorbean(user,password));
//创建MIME邮件对象
mimeMsg = new MimeMessage( session );
//设置发信人
mimeMsg.setFrom(new InternetAddress( from ) );
if(to!=null){
mimeMsg.setRecipients( Message.RecipientType.TO, InternetAddress.parse( to ) );
}
if(cc!=null){
mimeMsg.setRecipients( Message.RecipientType.CC, InternetAddress.parse( cc ) );
} //设置邮件主题
mimeMsg.setSubject(subject,"GBK");
// 第一部分信息
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText( content, "GBK"); // 第二部分信息
MimeBodyPart mbp2 = new MimeBodyPart(); // 在第二部分信息中附加一个文件
FileDataSource fds = new FileDataSource( fileAttachment );
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName()); // 创建 Multipart 并放入每个 MimeBodyPart
Multipart mp = new MimeMultipart();
mp.addBodyPart( mbp1 );
mp.addBodyPart( mbp2 ); // 增加 Multipart 到信息体
mimeMsg.setContent( mp ); //发送日期
mimeMsg.setSentDate(new Date());
//发送邮件
Transport.send( mimeMsg );
System.out.println( "email send!"); } catch (Exception e) {
e.printStackTrace();
}
}
}