国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
JavaMail 開發(fā)筆記
JavaMail是為了開發(fā)者處理郵件相關(guān)的編程接口。用來(lái)處理email的API。此API可以很方便的執(zhí)行常用的郵件傳輸任務(wù)。Javamail不是標(biāo)準(zhǔn)的Java API ,所以需要去單獨(dú)下載,JavaMail的包名為mail.jar。如果使用JavaMail還需要JAF的支持,JDK1.6已經(jīng)集成了JAF,所以不需要另行下載,之前的老版本JDK需要單獨(dú)下載JAF。

以下是我寫的一個(gè)簡(jiǎn)單的郵件發(fā)送程序案例,注釋很詳細(xì)。值得注意的是一定要把mail.jar加入lib中。

import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Demo1 {

    public static void main(String[] args) throws Exception {
        //新建配置文件
        Properties props = new Properties();
        //配置文件mail.smtp.auth為需要驗(yàn)證
        props.setProperty("mail.smtp.auth", "true");
        //配置文件mail.transport.protocol設(shè)置為smtp方式
        props.setProperty("mail.transport.protocol", "smtp");
       
        //新建session,加入配置
        Session session = Session.getInstance(props);
        //打印連接信息
        session.setDebug(true);
        //新建Message對(duì)象,傳入session參數(shù)
        Message msg = new MimeMessage(session);
        //設(shè)置Message內(nèi)容
        msg.setSubject("JavaMail");
        msg.setText("你好嗎?");
        msg.setFrom(new InternetAddress("此處為你要發(fā)送的郵箱地址"));
       
        //設(shè)置發(fā)送信息
        Transport transport = session.getTransport();
        //連接smtp服務(wù)器
        transport.connect("smtp.qq.com", 25, "賬號(hào)", "密碼");
        //通過(guò)服務(wù)器發(fā)送Message對(duì)象,第二個(gè)參數(shù)為發(fā)送地址的數(shù)組,可以群發(fā)。
        transport.sendMessage(msg, new Address[] { new InternetAddress(
                "發(fā)送的地址1"),new InternetAddress(
                "發(fā)送的地址2") });
        //釋放資源
        transport.close();
    }

}

是否覺(jué)得JavaMail API很方便?

下面一個(gè)案例是使用Servlet實(shí)現(xiàn)JavaMail的發(fā)送功能,并且用到了JNDI。

第一步:需要在tomcat目錄的lib下加入mail.jar(有人要問(wèn)為什么了,其實(shí)很簡(jiǎn)單,因?yàn)槭褂肑NDI的話,Session對(duì)象是需要tomcat創(chuàng)建的,所以如果不在tomcat\lib下加入mail.jar,就會(huì)找不到該類。并且在webapp中不能在加入mail.jar文件了,不然會(huì)報(bào)錯(cuò),出現(xiàn)類轉(zhuǎn)換異常。那為什么又會(huì)出現(xiàn)此異常呢?因?yàn)楫?dāng)程序創(chuàng)建Session對(duì)象的時(shí)候,webapp類加載器會(huì)加載webapp下的mail.jar文件,而tomcat此時(shí)的類加載器會(huì)加載tomcat\lib下的mail.jar,內(nèi)存中有兩份Session字節(jié)碼,這樣會(huì)出現(xiàn)轉(zhuǎn)換異常。)

第二步:配置META-INF/context.xml內(nèi)容如下
<Context>
    <Resource name="mail/Session" auth="Container" type="javax.mail.Session"
        mail.smtp.host="smtp.qq.com" mail.smtp.auth="true"
        mail.transport.protocol="smtp" />
</Context>

第三步:編寫Servlet

package com.openwudi.mail.servlet;

import java.io.IOException;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SendMailServlet extends HttpServlet {

    private static final long serialVersionUID = -7439862270987299401L;

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        try {
            Context initCtx = new InitialContext();
            Context envCtx = (Context) initCtx.lookup("java:comp/env");
            Session session = (Session) envCtx.lookup("mail/Session");
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("從什么郵箱發(fā)送"));
            InternetAddress to[] = new InternetAddress[1];
            to[0] = new InternetAddress("發(fā)送到什么郵箱");
            message.setRecipients(Message.RecipientType.TO, to);
            message.setSubject("ServletMail");
            message.setText("使用JavaWeb發(fā)送的郵件!");
            Transport transport = session.getTransport();
            transport.connect("smtp.qq.com", "賬號(hào)", "密碼");
            transport.sendMessage(message, to);
            transport.close();
            response.getWriter().print("ok!");
        } catch (Exception e) {
            e.printStackTrace(response.getWriter());
        }

    }

}

郵件開發(fā)不知道現(xiàn)在是否用的還比較多,在web應(yīng)用中可以成為一個(gè)附加模塊,比如從數(shù)據(jù)庫(kù)中導(dǎo)入郵箱地址,然后群發(fā)郵件,比手工發(fā)的效率會(huì)高很多。


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
在JSP中使用JavaMail(2)
JavaMail郵件發(fā)送實(shí)用類
JavaMail通過(guò)Exchange發(fā)送郵件
用JavaMail API編寫可帶附件的郵件發(fā)送程序
利用JavaMail收/發(fā)Gmail郵件SSL
JavaMail發(fā)送和接收
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服