javaMail
用java發(fā)郵件是一個(gè)十分簡(jiǎn)單的事情,javax.email包就是用來發(fā)電子郵件的,但是今天我介紹的方式更加簡(jiǎn)單。
首先你需要導(dǎo)入兩個(gè)JAR包mail.jar和commons-email-1.5.jar,這兩個(gè)jar包在 網(wǎng)上一搜就有。
package mailDemo; import org.apache.commons.mail.DefaultAuthenticator;import org.apache.commons.mail.Email;
import org.apache.commons.mail.SimpleEmail; public class sendMail {
?public static void sendM()throws Exception{
?Email email = new SimpleEmail();
?email.setHostName("smtp.qq.com");//設(shè)置郵箱服務(wù)器,我這用的是qq的
?email.setSmtpPort(465);//設(shè)置郵箱服務(wù)器端口號(hào)
?email.setAuthenticator(new DefaultAuthenticator("",""));//你的qq賬號(hào)和授權(quán)碼 //登錄你的qq郵箱,進(jìn)入賬號(hào)設(shè)置,獲得SMTP授權(quán),得到授權(quán)碼
?email.setSSLOnConnect(true);
?email.setFrom("");//你的賬號(hào),郵件從這里發(fā)出去
?email.setSubject("發(fā)個(gè)郵件試試看!");//郵件的標(biāo)題
?email.setMsg("我就想試試能不能發(fā)出去");//郵件的內(nèi)容
?email.addTo("");//發(fā)給誰
?email.send();
?}
?public static void main(String[] args) {
??try {
???sendMail.sendM();
??} catch (Exception e) {
???// TODO Auto-generated catch block
???e.printStackTrace();
??}
?} }
把上述代碼拷貝到你的的項(xiàng)目中,導(dǎo)入用到的jar包,把空缺處填寫完整就可以點(diǎn)擊運(yùn)行了。
下面附上用javax.email寫的
public static boolean sendMail(String email, String emailMsg) {??
??String from = ""; ????// 郵件發(fā)送人的郵件地址
??String to = email; ??????????// 郵件接收人的郵件地址
??final String username = "";? ?//發(fā)件人的郵件帳戶
??final String password = "";?? ?????//發(fā)件人的郵件密碼
??//定義Properties對(duì)象,設(shè)置環(huán)境信息
??Properties props = new Properties(); //設(shè)置郵件服務(wù)器的地址
??props.setProperty("mail.transport.protocol", "smtp");//設(shè)置發(fā)送郵件使用的協(xié)議
??props.setProperty("mail.smtp.host", "smtp.qq.com"); // 指定的smtp服務(wù)器
??props.setProperty("mail.smtp.auth", "true");
??//創(chuàng)建Session對(duì)象,session對(duì)象表示整個(gè)郵件的環(huán)境信息
??Session session = Session.getInstance(props);
??//設(shè)置輸出調(diào)試信息
??session.setDebug(true);
??try {
???//Message的實(shí)例對(duì)象表示一封電子郵件
???MimeMessage message = new MimeMessage(session);
???//設(shè)置發(fā)件人的地址
???message.setFrom(new InternetAddress(from));
???//設(shè)置主題
???message.setSubject("用戶激活");
???//設(shè)置郵件的文本內(nèi)容
???//message.setText("Welcome to JavaMail World!");
???message.setContent(emailMsg,"text/html;charset=utf-8");//
???//從session的環(huán)境中獲取發(fā)送郵件的對(duì)象
???Transport transport=session.getTransport();
???//連接郵件服務(wù)器
???transport.connect("smtp.qq.com",25, username, password);
???//設(shè)置收件人地址,并發(fā)送消息
???transport.sendMessage(message,new Address[]{new InternetAddress(to)});
???transport.close();
???return true;
??} catch (MessagingException e) {
???e.printStackTrace();
???return false;
??}
?}
總結(jié)
- 上一篇: 使用 Jenkins 自动部署 java
- 下一篇: 内连接和外连接