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

需要一个能发送html邮件的javabeans

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

    本文导语:  谁能提供吗? | 给你一个吧,不用javamail,那个要带着一个包走。源码如下: /** 发送Email 的JavaBean @author yancheng(sitechasia.com) @version 1.0.1 created date:2001-4-25 采用直接写Socket方式发送email 关于SMTP(SIMPLE...

谁能提供吗?

|

给你一个吧,不用javamail,那个要带着一个包走。源码如下:

/**
发送Email 的JavaBean

@author yancheng(sitechasia.com)
@version 1.0.1
created date:2001-4-25

采用直接写Socket方式发送email
关于SMTP(SIMPLE MAIL TRANSFER PROTOCOL)命令,
参考 http://www.faqs.org/rfcs/rfc821.html

*/

import java.io.*;
import java.util.*;
import java.net.*;

public class Email
{
  private static final String CONTENT_TYPE = "text/html";

  private String smtpServer=null;
  private String fromMail=null;
  private String toMail=null;
  
  public Email(String smtp,String from,String to)
  {
   this.smtpServer=smtp;
   this.fromMail=from;
   this.toMail=to;
  }
  
  public void mail(String subject,String content) throws MailException
  {

    try{
  
   //打开邮件服务器port:25
   Socket s = new Socket(smtpServer,25);
  
   //用于socket读写数据
   PrintWriter out = new PrintWriter(s.getOutputStream(),true);
   BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
    
     String res = null; //smtp服务器返回信息

     out.println("HELO "+smtpServer);
res=in.readLine();
if( !res.startsWith("220") ) throw new MailException("MailException:"+res);

    out.println("MAIL FROM: "+fromMail);
     res = in.readLine();
     if( !res.startsWith("250") ) throw new MailException("MailException:"+res);

  out.println("RCPT TO: "+toMail);
     res = in.readLine();
    if( !res.startsWith("250") ) throw new MailException("MailException:"+res);

    out.println("DATA");
     res = in.readLine();
     if( !res.startsWith("250") ) throw new MailException("MailException:"+res);
    
    out.println("Subject:"+subject);
    out.println("From:"+fromMail);
    out.println("To:"+toMail);
     out.println("Content-Type: text/html; charset=gb2312");
     out.println(content);

     out.println(".");
    res = in.readLine();
if( !res.startsWith("354") ) throw new MailException("MailException:"+res);
    
out.println("QUIT");
     s.close();
   }
    catch(UnknownHostException x) {
   throw new MailException("MailException:"+x.getMessage());
   }
   catch(IOException x){
   throw new MailException("MailException:"+x.getMessage());
   }
 }//end method mail

}//end class Email

//发送邮件违例类
class MailException extends Exception
{
public MailException(String msg)
{
super(msg);
}
}

调用方法如下:


import java.io.*;
import java.util.*;
import java.net.*;

public class test
{
  
  public static void main(String[] args)
  {
try{
Email em = new Email("mail.sitechasia.com","ycshowtop@21cn.com","cyan@sitechasia.com");
em.mail("测试邮件","北京市西三环路甲19号企业网大厦");
System.out.println("ok");
}
catch(Exception e){
e.printStackTrace(System.err);
}
  }
  
}

|
前幾天我剛寫了一個,用javamail1.2寫的,你想要的話,給出email,我發給你,源代碼可以一起給.

    
 
 

您可能感兴趣的文章:

  • 请教各位:javabean被使用后需要清除吗?
  • jsp调用javabean需要做那些步骤啊?在线等待,马上接贴!
  • 请问在jsp中调用javabean,需要设置路径么
  • javabean调用ejb,jsp调用javabean.出现了如下问题,需要高手出现啊!
  • Linux ioctl函数需要发送指令的SCSI命令
  • 我想用jsp做个发送邮件的程序,请问需要什么服务器?怎样配置?最好还能提供一个简单的测试程序!谢谢!
  • linux转发数据,局域网A(eth1)的数据是如何发送到另一个网卡eth0所在的网络上的,只需要设置FORWARD的ACCEPT吗?
  • linux下需要设置网络发送和接受缓冲区大小时,需如何设置,是否系统有最大缓冲区限制?谢谢
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • 发送邮件时需要进行身份认证的问题?
  • 客户端发送的socket数据,需要客户端断开连接之后服务器端才能受到,为何
  • 如何在JSP中使用JAVAMAIL发送需要身份验证的信件???
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下email发布出去,发邮件需要什么权限?怎样设置?
  • 要用linux架构自己的邮件服务器,需要什么外部条件?已经有固定的IP了
  • 急!用Java Mail通过需要登录认证的SMTP SERVER发邮件的问题。
  • win7, win8安装docker需要了解的概念
  • 请问装完JBuilder后要做JSP还需要什么配置?需要Apache?
  • PHP编程需要注意地方总结
  • asp需要服务器装iis,那jasp服务端需要装什么软件?
  • 软件项目版本控制需要注意的几点
  • 运行JSP、SERVLET需要那些配置?需要如何设置?请各位指点。
  • Android开发需要的几点注意事项总结
  • 请问如果要按自己需要修改linux内核源代码需要那些准备知识
  • OpenStack中compute介绍和compute实例需要注意的问题
  • 弱弱的问题^_^在VA中怎么编译调试Servlet程序啊?需要安装什么环境?除了VA还需要什么
  • memset分配的空间用完以后需要进行释放吗? 如果需要释放,怎么释放呢? ---阿菜
  • 基于c中使用ftruncate()前需要fflush(),使用后需要rewind()的深入探讨
  • 现在在嵌入式系统中需要使用iconv系列函数,都需要用到什么库(.so)
  • spec中打patch是否需要按顺序
  • 这个程序需要在哪些方面做个修改
  • sql语法中什么类型的值需要用单引号‘’修饰?
  • 交换式以网需要CSMA/CD吗?
  • 我刚装好,是不是需要配制环境变量?求教。
  • linux中html解析,需要哪些知识
  • NOR flash是否需要驱动?
  • 使用linux内核+qt开发的应用程序需要开源吗


  • 站内导航:


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

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

    浙ICP备11055608号-3