<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ù)?
    主站蜘蛛池模板: 国产视频精品免费| 亚洲第一区香蕉_国产a| 久久久久亚洲精品无码网址色欲 | 在线观看免费a∨网站| 亚洲男人天堂2018av| 日韩在线天堂免费观看| 亚洲日韩中文字幕无码一区| 免费无码又爽又刺激毛片| 精品国产日韩亚洲一区91| 亚洲精品tv久久久久| 中国毛片免费观看| 亚洲成A∨人片在线观看不卡| 久久精品国产免费| 亚洲成在人线电影天堂色| 中文字幕影片免费在线观看| 亚洲精品国产第一综合99久久| 拔擦拔擦8x华人免费久久| 一级片在线免费看| 久久亚洲国产午夜精品理论片| 一级特黄aa毛片免费观看| 亚洲av无码电影网| 日韩免费在线观看| 黄色网页在线免费观看| 亚洲视频中文字幕在线| 免费的涩涩视频在线播放| 中国人免费观看高清在线观看二区| 亚洲电影中文字幕| 成年人免费观看视频网站| 一级全免费视频播放| 亚洲午夜精品久久久久久人妖| 国产香蕉九九久久精品免费| 男人j进女人p免费视频| 亚洲免费在线视频| 操美女视频免费网站| 一个人免费播放在线视频看片| 国产AV无码专区亚洲AV男同| 免费高清小黄站在线观看| 免费无码又爽又刺激一高潮| 亚洲国产品综合人成综合网站| 日本视频在线观看永久免费| 亚洲人成电影网站久久|