<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢(mèng)蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    使用javamail通過代理發(fā)送郵件

    Posted on 2007-03-04 11:50 dennis 閱讀(5190) 評(píng)論(1)  編輯  收藏 所屬分類: java
    ??? 我們是沒辦法使用javamail通過一般的代理服務(wù)器發(fā)送郵件的,比如下面的代碼是沒有效果的:
    ??????? Properties?props?=?System.getProperties();
    ??????? props.setProperty(
    "proxySet","true");
    ??????? props.setProperty(
    "ProxyHost","192.168.155.1");
    ??????? props.setProperty(
    "ProxyPort","1080");
    ??????? //或者這樣,也是沒用
    ??????? //Properties?props?=?System.getProperties();
    ??????? //props.setProperty("proxySet","true");
    ??????? //props.setProperty("http.proxyHost","192.168.155.1");
    ??????? //props.setProperty("http.proxyPort","808");

    ??????? props.put(
    "mail.smtp.auth",?"true");
    ? ? ? ? props.put(
    "mail.debug",?"true");
    ????????
    //?props.put("mail.store.protocol",?"pop3");
    ????????
    //?props.put("mail.transport.protocol",?"smtp");
    ????????final?String?username?= "username"
    ????????
    final?String?password?= "password"
    ????????Session?session?
    =?Session.getDefaultInstance(props,
    ????????????????
    new?Authenticator()?{
    ????????????????????
    protected?javax.mail.PasswordAuthentication?getPasswordAuthentication()?{
    ????????????????????????
    return?new?javax.mail.PasswordAuthentication(username,
    ????????????????????????????????password);
    ????????????????????}
    ????????????????});
    ????????MimeMessage?message?
    =?new?MimeMessage(session);
    ???????
    ?
    ???
    ??? 不過可以通過socks網(wǎng)關(guān)來訪問外網(wǎng)的email服務(wù)器,當(dāng)然,前提是你安裝了一個(gè)socks服務(wù)器。完整的使用代理發(fā)送郵件代碼如下:

    ????
    package?net.rubyeye.testjms;

    import?java.util.Date;
    import?java.util.Properties;
    import?java.security.Security;
    import?javax.mail.Address;
    import?javax.mail.Authenticator;
    import?javax.mail.Session;
    import?javax.mail.Transport;
    import?javax.mail.internet.InternetAddress;
    import?javax.mail.internet.MimeMessage;

    public?class?MailTest?{

    ????
    /**
    ?????*?
    @param?args
    ?????
    */
    ????
    public?static?void?main(String[]?args)?throws?Exception?{
    ????????
    //?Security.addProvider(new?com.sun.net.ssl.internal.ssl.Provider());
    ????????
    //?final?String?SSL_FACTORY?=?"javax.net.ssl.SSLSocketFactory";
    ????????
    //設(shè)置代理服務(wù)器
    ????????Properties?props?=?System.getProperties();
    ????????props.setProperty(
    "proxySet",?"true");
    ????????props.setProperty(
    "socksProxyHost",?"192.168.155.1");
    ????????props.setProperty(
    "socksProxyPort",?"1081");
    ????????props.setProperty(
    "mail.smtp.host",?"smtp.126.com");
    ????????
    ????????
    //?props.setProperty("mail.smtp.socketFactory.class",?SSL_FACTORY);
    ????????
    //?props.setProperty("mail.smtp.socketFactory.fallback",?"false");
    ????????
    //?props.setProperty("mail.smtp.port",?"465");
    ????????
    //?props.setProperty("mail.smtp.socketFactory.port",?"465");
    ????????props.put("mail.smtp.auth",?"true");
    ????????props.put(
    "mail.debug",?"true");
    ????????
    //?props.put("mail.store.protocol",?"pop3");
    ????????
    //?props.put("mail.transport.protocol",?"smtp");
    ????????final?String?username?=?"username";
    ????????
    final?String?password?=?"password";
    ????????
    ????????
    //使用驗(yàn)證
    ????????Session?session?=?Session.getDefaultInstance(props,
    ????????????????
    new?Authenticator()?{
    ????????????????????
    protected?javax.mail.PasswordAuthentication?getPasswordAuthentication()?{
    ????????????????????????
    return?new?javax.mail.PasswordAuthentication(username,
    ????????????????????????????????password);
    ????????????????????}
    ????????????????});
    ????????MimeMessage?message?
    =?new?MimeMessage(session);
    ????????Address?address?
    =?new?InternetAddress("killme6115@126.com");
    ????????Address?toAaddress?
    =?new?InternetAddress("killme6115@sina.com");
    ????????
    ????????message.setFrom(address);
    ????????message.setRecipient(MimeMessage.RecipientType.TO,?toAaddress);
    ????????message.setSubject(
    "測(cè)試");
    ????????message.setText(
    "test");
    ????????message.setSentDate(
    new?Date());
    ????????
    ????????Transport.send(message);
    ????????System.out.println(
    "郵件發(fā)送!");

    ????}

    }


    評(píng)論

    # re: 使用javamail通過代理發(fā)送郵件  回復(fù)  更多評(píng)論   

    2013-07-11 17:43 by 雷博弈
    AVOS-dennis 您好,請(qǐng)教一個(gè)關(guān)于 通過代理服務(wù)器來發(fā)送郵件 的問題,我這邊的環(huán)境是內(nèi)部網(wǎng)不能訪問外部網(wǎng)絡(luò),通過CCproxy來訪問,發(fā)送郵件的程序在一臺(tái)linux 主機(jī)上,能訪問 代理主機(jī),無法訪問外網(wǎng),通過上面的程序沒法發(fā)送郵件,報(bào)“ Unknown SMTP host: smtp.163.com;”。 把程序移植到CCproxy 主機(jī)上(可以訪問外網(wǎng))代碼可用,是否意味著通過代理發(fā)送郵件也需要程序所屬的主機(jī)能訪問smpt服務(wù)?
    主站蜘蛛池模板: 亚洲日韩人妻第一页| 日韩色日韩视频亚洲网站| JLZZJLZZ亚洲乱熟无码| 欧美a级成人网站免费| 国产精品偷伦视频观看免费| 国产AV无码专区亚洲AV麻豆丫| 亚洲成在人线中文字幕| 亚洲av永久无码制服河南实里| 国产公开免费人成视频| 两个人的视频高清在线观看免费| 日本视频在线观看永久免费| 国产精品免费在线播放| 朝桐光亚洲专区在线中文字幕| 亚洲一级在线观看| 在线观看亚洲人成网站| 国产亚洲成av片在线观看 | 亚洲区不卡顿区在线观看| 18禁超污无遮挡无码免费网站国产 | 亚洲一级毛片免费在线观看| 亚洲a一级免费视频| 亚洲熟妇无码八AV在线播放| 亚洲视频在线一区二区| 亚洲国产精品13p| 免费国产一级特黄久久| 国产精品极品美女免费观看| 免费观看的av毛片的网站| 国外成人免费高清激情视频| 在线观看人成视频免费| 影音先锋在线免费观看| 精品国产免费观看久久久 | 亚洲一卡二卡三卡| 性xxxx黑人与亚洲| 亚洲一线产区二线产区区| 2020久久精品亚洲热综合一本 | 日韩精品免费一区二区三区| 韩国18福利视频免费观看| 国内自产拍自a免费毛片| 免费的涩涩视频在线播放| 国产乱色精品成人免费视频 | www免费黄色网| 中文字幕av免费专区|