javamail 发邮件慢的有关问题

javamail 发邮件慢的问题
javamail 发邮件慢的问题

http://bbs.csdn.net/topics/390158909
引用

一般跟网络有关,发邮件这种事情,程序本身的压力其实很小。

楼主可以检测下网络流量,要注意的是,如果你用的是ADSL,那么ADSL是非对称链路,上行速度是很慢的,大约只有 512Kbps,也即 64KBps。



发邮件是邮件服务器负责的,所以基本上程序方面的关系不大
如LS说的查下网络原因,还需要了解一下邮件服务器有什么配置,比如邮件安全扫描,防火墙等等。




http://bbs.csdn.net/topics/360185207


我代码方面用private static ExecutorService pool = Executors.newCachedThreadPool();//线程池

新启动线程,这样就不用等待发送完成方法才执行完。

private static ExecutorService pool = Executors.newCachedThreadPool();



pool.execute(new Runnable() {
			public void run() {
				
				// SimpleEmail email = new SimpleEmail();//如果发送普通的邮件,使用这个类就可以了
				// MultiPartEmail email = new MultiPartEmail();// 如果要发送带附件的邮件,需使用这个类
				try {
					HtmlEmail email = new HtmlEmail();// 可以发送html类型的邮件
					email.setHostName(String.valueOf(PropertiesHolder.getContextProperty("mail.hostName")));// 指定要使用的邮件服务器
					email.setAuthentication(
							String.valueOf(PropertiesHolder.getContextProperty("mail.username")), 
							String.valueOf(PropertiesHolder.getContextProperty("mail.password")));// 使用163的邮件服务器需提供在163已注册的用户名、密码
					email.setCharset(String.valueOf(PropertiesHolder.getContextProperty("mail.charset")));
					try {
						email.setFrom(String.valueOf(PropertiesHolder.getContextProperty("mail.default.from")));// 设置发件人
						email.addTo(userEmail);// 设置收件人
						email.setSubject(title);// 设置主题
						email.setHtmlMsg(content);// 设置邮件内容
						email.send();
						logger.debug("Mail success");
					} catch (EmailException e) {
						logger.error("Mail faild" + e.toString());
					}
				} catch (Exception ex) {
					logger.error("Mail faild" + ex.toString());
				}
				
			}
		});