要兩個(gè)java文件 還有一個(gè)mail.jar是不是只能用javamail誰(shuí)也不敢說(shuō)
為環(huán)縣等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及環(huán)縣網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、環(huán)縣網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
第一個(gè):
public class Constant {
public static final String mailAddress ="用戶名@163點(diǎn)抗 ";
public static final String mailCount ="用戶名";
public static final String mailPassword ="密碼";
public static final String mailServer ="smtp.163點(diǎn)抗 ";
//pukeyouxintest,
}
第二個(gè):
import java.util.Date;
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;
public class SendMail {
/**
* 發(fā)送簡(jiǎn)單郵件
* @param str_from:發(fā)件人地址
* @param str_to:收件人地址
* @param str_title:郵件標(biāo)題
* @param str_content:郵件正文
*/
public static void send(String str_from,String str_to,String str_title,String str_content) {
// str_content="a href=''html元素/a"; //for testing send html mail!
try {
//建立郵件會(huì)話
Properties props=new Properties(); //用來(lái)在一個(gè)文件中存儲(chǔ)鍵-值對(duì)的,其中鍵和值是用等號(hào)分隔的,
//存儲(chǔ)發(fā)送郵件服務(wù)器的信息
props.put("mail.smtp.host",Constant.mailServer);
//同時(shí)通過(guò)驗(yàn)證
props.put("mail.smtp.auth","true");
//根據(jù)屬性新建一個(gè)郵件會(huì)話
Session s=Session.getInstance(props);
s.setDebug(true); //有他會(huì)打印一些調(diào)試信息。
//由郵件會(huì)話新建一個(gè)消息對(duì)象
MimeMessage message=new MimeMessage(s);
//設(shè)置郵件
InternetAddress from= new InternetAddress(str_from); //pukeyouxintest2@163點(diǎn)抗
message.setFrom(from); //設(shè)置發(fā)件人的地址
//
// //設(shè)置收件人,并設(shè)置其接收類型為T(mén)O
InternetAddress to=new InternetAddress(str_to); //pukeyouxintest3@163點(diǎn)抗
message.setRecipient(Message.RecipientType.TO, to);
//設(shè)置標(biāo)題
message.setSubject(str_title); //java學(xué)習(xí)
//設(shè)置信件內(nèi)容
// message.setText(str_content); //發(fā)送文本郵件 //你好嗎?
message.setContent(str_content, "text/html;charset=gbk"); //發(fā)送HTML郵件 //b你好/bbrp大家好/p
//設(shè)置發(fā)信時(shí)間
message.setSentDate(new Date());
//存儲(chǔ)郵件信息
message.saveChanges();
//發(fā)送郵件
Transport transport=s.getTransport("smtp");
//以smtp方式登錄郵箱,第一個(gè)參數(shù)是發(fā)送郵件用的郵件服務(wù)器SMTP地址,第二個(gè)參數(shù)為用戶名,第三個(gè)參數(shù)為密碼
transport.connect(Constant.mailServer,Constant.mailCount,Constant.mailPassword);
//發(fā)送郵件,其中第二個(gè)參數(shù)是所有已設(shè)好的收件人地址
transport.sendMessage(message,message.getAllRecipients());
transport.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
//測(cè)試用的,你吧你想寫(xiě)的內(nèi)容寫(xiě)上去就行
send(Constant.mailAddress,"收件人郵箱","標(biāo)題","b內(nèi)容/b");
}
}
然后把mail.jar導(dǎo)入,就可以了,我用的是163 的,其他的吧相應(yīng)的服務(wù)器改一下就行了
public boolean mainto()
{
boolean flag = true;
//建立郵件會(huì)話
Properties pro = new Properties();
pro.put("mail.smtp.host","smtp.qq點(diǎn)抗 ");//存儲(chǔ)發(fā)送郵件的服務(wù)器
pro.put("mail.smtp.auth","true"); //通過(guò)服務(wù)器驗(yàn)證
Session s =Session.getInstance(pro); //根據(jù)屬性新建一個(gè)郵件會(huì)話
//s.setDebug(true);
//由郵件會(huì)話新建一個(gè)消息對(duì)象
MimeMessage message = new MimeMessage(s);
//設(shè)置郵件
InternetAddress fromAddr = null;
InternetAddress toAddr = null;
try
{
fromAddr = new InternetAddress(451144426+"@qq點(diǎn)抗 "); //郵件發(fā)送地址
message.setFrom(fromAddr); //設(shè)置發(fā)送地址
toAddr = new InternetAddress("12345367@qq點(diǎn)抗 "); //郵件接收地址
message.setRecipient(Message.RecipientType.TO, toAddr); //設(shè)置接收地址
message.setSubject(title); //設(shè)置郵件標(biāo)題
message.setText(content); //設(shè)置郵件正文
message.setSentDate(new Date()); //設(shè)置郵件日期
message.saveChanges(); //保存郵件更改信息
Transport transport = s.getTransport("smtp");
transport.connect("smtp.qq點(diǎn)抗 ", "451144426", "密碼"); //服務(wù)器地址,郵箱賬號(hào),郵箱密碼
transport.sendMessage(message, message.getAllRecipients()); //發(fā)送郵件
transport.close();//關(guān)閉
}
catch (Exception e)
{
e.printStackTrace();
flag = false;//發(fā)送失敗
}
return flag;
}
這是一個(gè)javaMail的郵件發(fā)送代碼,需要一個(gè)mail.jar
代碼如下:
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點(diǎn)抗 ");
Session session = Session.getInstance(props,
new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication("xxx","xxx");//這里分別填寫(xiě)發(fā)送email的用戶名、密碼
}
}
);
session.setDebug(true);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("xxx"));//這里是發(fā)送方的email地址如:xxx@163點(diǎn)抗
msg.setSubject("test javamail");
msg.setRecipients(RecipientType.TO,
InternetAddress.parse("xxx"));//這里是接收方的email地址如:xxx@163點(diǎn)抗
msg.setContent("a href=\"\"谷歌/a","text/html;charset=gb2312");
Transport.send(msg);
}
}
java后端代碼實(shí)現(xiàn)發(fā)送郵件但是有時(shí)候沒(méi)響應(yīng)是jar包的問(wèn)題。根據(jù)查詢相關(guān)公開(kāi)信息:要確保郵箱已經(jīng)開(kāi)啟了POP3、SMTP等服務(wù),開(kāi)啟之后,一定要生成授權(quán)碼,上面的郵箱名和密碼。