当前位置:  技术问答>java相关

急!用Java Mail通过需要登录认证的SMTP SERVER发邮件的问题。

    来源: 互联网  发布时间:2015-09-01

    本文导语:  我用Java Mail发邮件,如果邮件服务器不需要认证,是可以的。但是如果邮件服务需要SMTP认证,按API文档里的说明,总是发不出去,提示登录认证问题。谁有例子可以发一个给我吗。谢谢。 | i...

我用Java Mail发邮件,如果邮件服务器不需要认证,是可以的。但是如果邮件服务需要SMTP认证,按API文档里的说明,总是发不出去,提示登录认证问题。谁有例子可以发一个给我吗。谢谢。

|
import java.io.*;
import java.util.*;
import java.util.Date;
import javax.activation.DataHandler;
import javax.mail.*;
import javax.mail.internet.*;

/**
 * 

Title: Email


 * 

Description: 发送Email


 */
public class Mail{
        public boolean sendMail(String subject,String body,String to){
              try {
              SmtpAuth sa=new SmtpAuth(); // 密码验证
  sa.getuserinfo(你的用户名,口令);
              Properties props=System.getProperties();
              props.put("mail.smtp.auth","true");
              props.put("mail.smtp.host","smtp.163.com");
              Session sess=Session.getInstance(props,sa);
              sess.setDebug(true);//调试信息
              Message msg = new MimeMessage(sess);
              msg.setDataHandler(new DataHandler(body,"text/html; charset=gb2312"));
              msg.setFrom(new InternetAddress(你的EMAIL地址,显示名字));
              msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to,false));
              msg.setSubject(subject);
              msg.setSentDate(new Date());
              msg.setText(body);
              Transport.send(msg);
             return true;
        } catch (Exception e) {
            return false;
        }
      }

public static void main(String[] args){
Mail m=new  Mail();
m.sendMail("test","test javamail api",目标EMAIL地址);
}
}

这是认证函数:
import java.util.Date;
import java.util.*;
import java.util.Hashtable;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;

/**
 * 

Title: Email身份验证


 * 

Description: Email身份验证


 */

 public class SmtpAuth extends javax.mail.Authenticator{ //SMTP身份验证
        private String user,password;
        public void getuserinfo(String getuser,String getpassword){
                  user=getuser;
                  password=getpassword;
        }

        protected javax.mail.PasswordAuthentication getPasswordAuthentication(){
                  return new javax.mail.PasswordAuthentication(user,password);
        }
}


你把上面的程序稍微做一下改动,放到你的JSP页面里就OK了!


|




 
 
 


  
 



    
 
 

您可能感兴趣的文章:

  • Java邮件接口 JavaMail
  • Java邮件服务器 James
  • Java邮件检验库 JEmval
  • java邮件处理??
  • 怎样才能用java编写一个邮件收发软件,多谢!
  • asp里面可否使用java写的邮件,给30分.
  • 请问哪里有java邮件服务器下载?
  • Java邮件工具包 Commons Email
  • 我在APPLET里调用JAVAMAIL发邮件,出现java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)的错误???
  • 简单的Java邮件服务器 Jsmtpd
  • Java邮件服务器 CRSMail
  • 100分紧急求助:java程序在linux下不能发送邮件,windows下正常。
  • 谁能提供JAVA的新闻组地址和邮件列表
  • 如何通过java收发邮件?
  • 请问JAVA如何发邮件
  • 请教java收发邮件如何做???
  • 有没有人用java做过类似邮件系统的软件(包括客户端和服务器端)
  • java发送邮件的问题!
  • 用java开发一个可以各种请求(包括手机短消息,邮件等等)的标准接口,各位指指路,来者有分
  • 高分求救:Java Mail收邮件时的中文问题
  • QQ登录的Java接口 open-qq
  • 为什么我在FC6下设置java_home完毕后在登录又没有了
  • ===java怎样访问需要登录才能查看的网页????急!!===
  • linux /etc/profile/ 修改后不能登录系统 java环境变量设置 无法保存
  • Fedora 7 下 root用户登录后设置了JAVA_HOME, CLASSPATH等参数,可是总在重启后 终端命令行报错bash:JAVA_HOME:command not found,请教原因!
  • 在java中能不能获取机器的名字和用户的登录名?
  • 用jsp+java bean实现用户注册、登录,求原代码(高分)
  • 使用java swing实现qq登录界面示例分享
  • java中使用Filter控制用户登录权限具体实例
  • java(jsp)整合discuz同步登录功能详解
  • java模拟post请求登录猫扑示例分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 现在java开发中流行通过什么方式实现对数据库操作?就好像Visual Stadio通过ADO访问数据库。
  • 假设现在对且仅对java基础比较熟悉(通过scjp),要做一个java proxy的软件,步聚是什么?
  • 输出java进程的jstack信息示例分享 通过线程堆栈信息分析java线程
  • 请问用javac编译一般*.java能通过,但不能编译Servlet写的*.java.提示javax.servlet.http不存在。
  • 用java通过pop3怎样得到附件?
  • 我想问一下,java生成的.class文件能不能通过某种工具生成.exe文件?
  • 万般火急!关于java打印,已经得到printerJob实例,那么怎么通过它得到Pageable实例?
  • unix环境如何通过shell或java获取windows机器上的csv文件?
  • vc通过socket发送数据给java的问题
  • 如何通过java程序调用vb程序
  • 为什么用javac编译通过了,用java链接就不行呢?
  • 请问,如何通过Java调用ActiveX控件?
  • linux与java如何通过socket传float类型
  • 各位大虾,为什么我的java程序能通过编译,但是在用java命令运行程序的时候却老是报错“Exception in thread "main" java.lang.NoClassDe
  • java通过stock与mysql通信时出现乱码的问题
  • 请高手指教-[急!!!]怎样在linux与 window 之间,通过 C或Java 进行通信
  • 请问用java通过pop3协议如何获取信件内容.
  • 急,在线等待,Java程序怎样在linux下通过脚本启动时自动运行?
  • 怎样用Java语言写通过HTTP协议传送数据的程序啊?
  • Java中如何通过方法名动态调用方法?
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3