代碼如下:
成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,先為常熟等服務(wù)建站,常熟等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為常熟企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class EmailTest {
public static void main(String[] args) throws Exception{
Properties props = new Properties();
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "smtp.163.com");
Session session = Session.getInstance(props,
new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication("xxx","xxx");//這里分別填寫發(fā)送email的用戶名、密碼
}
}
);
session.setDebug(true);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("xxx"));//這里是發(fā)送方的email地址如:xxx@163.com
msg.setSubject("test javamail");
msg.setRecipients(RecipientType.TO,
InternetAddress.parse("xxx"));//這里是接收方的email地址如:xxx@163.com
msg.setContent("a href=\"\"谷歌/a","text/html;charset=gb2312");
Transport.send(msg);
}
}
要實(shí)現(xiàn)郵件發(fā)送功能需要導(dǎo)入包:mail.jar
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package org.demo.action;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.demo.form.DemoForm;
public class DemoAction extends Action {
private static final String CONTENT_TYPE = "test/html;charset=GB2312";
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DemoForm demoForm = (DemoForm) form;
System.out.println("標(biāo)題是" + demoForm.getBiaoti());
System.out.println("內(nèi)容是" + demoForm.getNeirong());
try {
response.setContentType(CONTENT_TYPE);
String smtphost = "smtp.nj.headware.cn"; // 發(fā)送郵件服務(wù)器
String user = "q0000015369"; // 郵件服務(wù)器登錄用戶名
String password = "Queshuwen26"; // 郵件服務(wù)器登錄密碼
String from = "q0000015369@nj.headware.cn"; //
String to = "c0000016205@nj.headware.cn"; // 收件人郵件地址
String subject = demoForm.getBiaoti(); // 郵件標(biāo)題
String body = demoForm.getNeirong(); // 郵件內(nèi)容
Properties props = new Properties();
props.put("mail.smtp.host", smtphost);
props.put("mail.smtp.auth", "true");
Session ssn = Session.getInstance(props, null);
MimeMessage message = new MimeMessage(ssn);
InternetAddress fromAddress = new InternetAddress(from);
message.setFrom(fromAddress);
InternetAddress toAddress = new InternetAddress(to);
message.addRecipient(Message.RecipientType.TO, toAddress);
message.setSubject(subject);
message.setText(body);
Transport transport = ssn.getTransport("smtp");
transport.connect(smtphost, user, password);
transport.sendMessage(message, message
.getRecipients(Message.RecipientType.TO));
// transport.send(message);
transport.close();
return mapping.findForward("succ");
} catch (Exception e) {
e.printStackTrace();
return mapping.findForward("fail");
}
}
}
1新建Java項目
2然后再項目下新建一個lib文件夾,復(fù)制需要的那個兩個jar包到lib下
3選擇 activation.jar和mail.jar,右鍵添加Build path
4用QQ給QQ發(fā)送郵件,發(fā)送方得開啟第三方登錄,也就是授權(quán)登錄,需要開始POP3和SMTP,還有點(diǎn)擊生成授權(quán)碼,下面是操作截圖
5編寫Java代碼
6運(yùn)行,最后顯示 250 Mail OK即發(fā)送成功
7接收方的QQ會收到郵件
可以選擇使用log4j,它是一款開源的日志記錄工具,提供發(fā)送日志郵件功能
Log4j發(fā)送日志郵件的作用:
項目錯誤信息能及時(實(shí)時)反映給項目維護(hù)人員以及相關(guān)負(fù)責(zé)人。
優(yōu)點(diǎn):
1.快速響應(yīng);
2.共同監(jiān)督;
3.郵件正文直接顯示了錯誤信息,拷貝信息比登陸服務(wù)器再查找要方便;
4.在日志信息繼續(xù)寫入文件的前提下,多了另外一種獲取信息的渠道。
補(bǔ)充:Log4j可以實(shí)現(xiàn)輸出到控制臺,文件,回滾文件,發(fā)送日志郵件,數(shù)據(jù)庫,自定義標(biāo)簽。
發(fā)送郵件的一個重要的類是SMTPAppender,之前用的是 log4j-1.2.8,在1.2.8的版本中,SMTPAppender沒有SMTPPassword 和SMTPUsername 屬性。這兩個屬性分別是登錄SMTP服務(wù)器發(fā)送認(rèn)證的用戶名和密碼。
依賴的jar包:
log4j-1.2.15.jar(版本低于log4j-1.2.14.jar不支持SMTP認(rèn)證)
mail.jar
activation.jar
在log4j.properties文件中配置:
### send error through email.
#log4j的郵件發(fā)送appender,如果有必要你可以寫自己的appender
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
#發(fā)送郵件的門檻,僅當(dāng)?shù)扔诨蚋哂贓RROR(比如FATAL)時,郵件才被發(fā)送
log4j.appender.MAIL.Threshold=ERROR
#緩存文件大小,日志達(dá)到10k時發(fā)送Email
log4j.appender.MAIL.BufferSize=10
#發(fā)送郵件的郵箱帳號
log4j.appender.MAIL.From=xxx@163.com
#SMTP郵件發(fā)送服務(wù)器地址
log4j.appender.MAIL.SMTPHost=smtp.163.com
#SMTP發(fā)送認(rèn)證的帳號名
log4j.appender.MAIL.SMTPUsername=xxx@163.com
#SMTP發(fā)送認(rèn)證帳號的密碼
log4j.appender.MAIL.SMTPPassword=xxx
#是否打印調(diào)試信息,如果選true,則會輸出和SMTP之間的握手等詳細(xì)信息
log4j.appender.MAIL.SMTPDebug=false
#郵件主題
log4j.appender.MAIL.Subject=Log4JErrorMessage
#發(fā)送到什么郵箱,如果要發(fā)送給多個郵箱,則用逗號分隔;
#如果需要發(fā)副本給某人,則加入下列行
#log4j.appender.MAIL.Bcc=xxx@xxx.xxx
log4j.appender.MAIL.To=xxx@xxx.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework]%d - %c -%-4r[%t]%-5p %c %x -%m%n
在java代碼中,可是用logger.info("message");方法將message代表的消息發(fā)送到指定郵箱中
網(wǎng)站標(biāo)題:java代碼發(fā)送郵件 java發(fā)郵件要收費(fèi)嗎
網(wǎng)站路徑:http://jinyejixie.com/article46/dosghhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、企業(yè)網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)