在开发中遇到需要发送邮件的情况,步骤简单:首先引入相关jar包(javax.amil.jar和commons-email-1.5,jar),然后注册发邮件的账号,最后编码就可以了。
设置发邮件的账户以QQ账户为例
将授权码放到下面这行代码相应的地方,就可以通过此账户发邮件了。
创建Java类TestSendEmail,程序代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| package ftp_email; import org.apache.commons.mail.DefaultAuthenticator; import org.apache.commons.mail.Email; import org.apache.commons.mail.EmailAttachment; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; import org.apache.commons.net.smtp.SMTP; public class TestSendEmail { public static void mian(String[] agrs) throws EmailException{ try{ HtmlEmail email=new HtmlEmail();//创建电子邮件对象 email.setSSL(true) email.setDebug(true); email.setHostName("SMTP.qq.com");//设置发送电子邮件使用的服务器主机名 email.setSmtpPort(587);//设置发送电子邮件使用的邮件服务器的TCP端口地址 email.setAuthenticator(new DefaultAuthenticator("你的QQ邮箱号码", "你的QQ邮箱授权码,通过短信临时获取"));//邮件服务器身份验证 email.setFrom("11095xxxx@qq.com");//设置发信人邮箱 email.setSubject("一腔诗意喂了狗");//设置邮件主题 email.setMsg("this is a test mali with attch");//设置邮件文本内容 email.setMsg("this is mail with test1"); email.addTo("62xxxxx@qq.com");//设置收件人 EmailAttachment attach =new EmailAttachment();//附件对象 attach.setPath("C:/temp/wenzhi.doc");//附件文件在系统中的路径 attach.setDescription(EmailAttachment.ATTACHMENT); email.attach(attach);//添加附件 email.send();//发送邮件 }catch(EmailException e){ e.printStackTrace(); } } }
|