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

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

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

    莊周夢蝶

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

    使用javamail通過代理發送郵件

    Posted on 2007-03-04 11:50 dennis 閱讀(5189) 評論(1)  編輯  收藏 所屬分類: java
    ??? 我們是沒辦法使用javamail通過一般的代理服務器發送郵件的,比如下面的代碼是沒有效果的:
    ??????? 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網關來訪問外網的email服務器,當然,前提是你安裝了一個socks服務器。完整的使用代理發送郵件代碼如下:

    ????
    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";
    ????????
    //設置代理服務器
    ????????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";
    ????????
    ????????
    //使用驗證
    ????????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(
    "測試");
    ????????message.setText(
    "test");
    ????????message.setSentDate(
    new?Date());
    ????????
    ????????Transport.send(message);
    ????????System.out.println(
    "郵件發送!");

    ????}

    }


    評論

    # re: 使用javamail通過代理發送郵件  回復  更多評論   

    2013-07-11 17:43 by 雷博弈
    AVOS-dennis 您好,請教一個關于 通過代理服務器來發送郵件 的問題,我這邊的環境是內部網不能訪問外部網絡,通過CCproxy來訪問,發送郵件的程序在一臺linux 主機上,能訪問 代理主機,無法訪問外網,通過上面的程序沒法發送郵件,報“ Unknown SMTP host: smtp.163.com;”。 把程序移植到CCproxy 主機上(可以訪問外網)代碼可用,是否意味著通過代理發送郵件也需要程序所屬的主機能訪問smpt服務?
    主站蜘蛛池模板: 18女人毛片水真多免费| 91精品国产免费入口| 免费a在线观看播放| 99亚洲精品卡2卡三卡4卡2卡| 最近中文字幕无免费| 久久精品国产亚洲AV| 亚洲色偷偷狠狠综合网| 一级做a爰全过程免费视频| 亚洲网红精品大秀在线观看| 色播在线永久免费视频网站| 国产精品亚洲精品观看不卡| 免费欧洲毛片A级视频无风险| 久久精品国产免费| 激情内射亚洲一区二区三区爱妻| 在线观看免费为成年视频| 国产成年无码久久久免费| 亚洲一级毛片免观看| 久久久久高潮毛片免费全部播放| 中文字幕成人免费高清在线| 337p日本欧洲亚洲大胆艺术| 久久久亚洲精品无码| 伊人久久大香线蕉亚洲五月天| 永久在线毛片免费观看| 免费无码又爽又高潮视频| 最近中文字幕无吗免费高清| 成人午夜免费福利视频| 0588影视手机免费看片| 青娱乐免费在线视频| 国产成人免费在线| 在线观看视频免费完整版| 亚洲色图在线观看| 亚洲精品久久无码av片俺去也| 国产国产人免费人成免费视频| 中国一级全黄的免费观看| 亚洲一区精彩视频| 亚洲爆乳精品无码一区二区三区| 亚洲精品在线免费观看视频| 成人无码区免费A∨直播| 亚洲综合一区无码精品| 亚洲综合无码一区二区三区| 亚洲日本中文字幕天堂网|