javamail发送邮件问题
java邮件开发,你可以下载javamail api,之后在里面lib下有dsn.jar、imap.jar、mailapi.jar、pop3.jar、smtp.jar五个炸包,如果做邮件发送只需mailapi.jar、smtp.jar两个就行,如果不愿考虑这么多的话,就直接使用文档下mail.jar就行,即支持发送邮件也支持收邮件功能。之后当你涉及附件了,你应该用到了jaf框架(JavaBeans Activation Framework JavaBeans激活框架用于封装数据),所以你需要下载jaf使用里面的activation.jar,如果你使用jdk1.6就不需考虑了,因为jdk1.6已经包含此api。至于锁还没碰见过
java mail 发邮件 1000 封以上 怎么让邮件快速发送
…
String to=”test1@qq.com,test2@gmail.com,test3@163.com”;
InternetAddress[] toList = new InternetAddress().parse(to);
msg.setRecipients(Message.RecipientType.TO, toList);
…
Transport.send(msg);
或者直连邮件网关,并由邮件网关直接转发至收件箱所在的服务器,因此发送速度是基本不受限的。如果没有邮件网关,同时又不想自己完成相关功能,那么建议不要只让一台邮件服务器转发你的邮件,而是多连几台,将自己的邮件平均分配到每台邮件服务器上,这样就不会由于发送过多,而被拒了。
至于处理能力,可以提几点关于提高发送能力的建议
1.SMTP协议是支持长连接的协议,同时mail.jar实现了SMTP协议的连接、邮件发送及连接断开,至于对连接的维护没有涉及;同时Spring中的邮件支持是通过封装mail.jar实现的,但只提供了单笔发送和批量发送(均为短连接)。
2.如果使用长连接,建议再引入连接池,那样既便于维护连接,又可以提高连接的使用率。
使用javamail发送邮件
发送邮件要用邮件服务器
比如163的邮箱服务器地址为(host): 163.com
qq邮箱服务器地址为:qq.com
邮件服务器可以帮你转发邮件 就是这个原理
javamail怎么设置代理发送邮件
public static void main(String[] args) throws Exception {
MailTest test = new MailTest();
//通过代理发送邮件
test.sendMailByProxy();
}
private void sendMailByProxy()throws Exception{
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
// final String SSL_FACTORY = “javax.net.ssl.SSLSocketFactory”;
//设置代理服务器
Properties props = System.getProperties();
props.setProperty(“proxySet”, “true”);
props.setProperty(“socksProxyHost”, “192.168.1.1”);
props.setProperty(“socksProxyPort”, “1080”);
props.setProperty(“mail.smtp.host”, “smtp.163.com”);
//props.setProperty(“mail.smtp.socketFactory.class”, SSL_FACTORY);
props.setProperty(“mail.smtp.socketFactory.fallback”, “false”);
props.setProperty(“mail.smtp.port”, “25”);
props.setProperty(“mail.smtp.socketFactory.port”, “25”);
props.put(“mail.smtp.auth”, “true”);
props.put(“mail.debug”, “true”);
props.put(“mail.store.protocol”, “pop3”);
props.put(“mail.transport.protocol”, “smtp”);
final String username = “用户名”;
final String password = “密码”;
//使用验证
Session session = Session.getDefaultInstance(props,
new Authenticator() {
protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
return new javax.mail.PasswordAuthentication(username,
password);
}
});
MimeMessage message = new MimeMessage(session);
Address address = new InternetAddress(“xulei_19850322@163.com”);
Address toAaddress = new InternetAddress(“xulei_19850322@yahoo.com.cn”);
message.setFrom(address);
message.setRecipient(MimeMessage.RecipientType.TO, toAaddress);
message.setSubject(“测试”);
message.setText(“test”);
message.setSentDate(new Date());
Transport.send(message);
System.out.println(“邮件发送!”);
}