html 发邮件 手机,邮件例程 - JavaMail - 发送HTML邮件

邮件例程 - JavaMail - 发送HTML邮件

来源:互联网  宽屏版  评论

2006-01-08 14:17:08

bbsdetail_19190.html

form.htm

========

邮件例程 - JavaMail - 发送HTML邮件
SMTP主机:
发信人:
收信人:
抄送人:
暗送人:
主题:
内容:

send.jsp

========

作者:何志强[hhzqq@21cn.com]

日期:2000-08-16

版本:1.0

功能:邮件例程 - JavaMail - 发送HTML邮件

--%>

//变量声明

java.lang.String smtp,from,to,cc,bcc,subject,body;

//获得用户输入数据

smtp = request.getParameter("smtp");

from = request.getParameter("from");

to = request.getParameter("to");

cc = request.getParameter("cc");

bcc = request.getParameter("bcc");

subject = request.getParameter("subject");

if(subject!=null){

subject = new java.lang.String(subject.getBytes("iso-8859-1"));

}

body = request.getParameter("body");

//发送邮件

pipi.mail.HTML.send(smtp,from,to,cc,bcc,subject,body);

%>

pipi.jaf.StringDataSource.java

==============================

/*

作者:何志强[hhzqq@21cn.com]

日期:2000-08-16

功能:字符串型数据源

*/

package pipi.jaf;

public class StringDataSource implements javax.activation.DataSource{

private java.lang.String data;

private java.lang.String type;

public StringDataSource(java.lang.String data,java.lang.String type){

this.data = data;

this.type = type;

}

public java.io.InputStream getInputStream() throws java.io.IOException{

return new java.io.StringBufferInputStream(data);

}

public java.io.OutputStream getOutputStream() throws java.io.IOException{

throw new java.io.IOException("it does not support this method now!");

}

public java.lang.String getContentType(){

return type;

}

public java.lang.String getName(){

return "pipi";

}

}

pipi.mail.HTML.java

===================

/*

作者:何志强[hhzqq@21cn.com]

日期:2000-08-16

功能:发送HTML邮件

*/

package pipi.mail;

public final class HTML{

public static void send(

java.lang.String smtp, /*SMTP主机地址*/

java.lang.String from, /*发信人*/

java.lang.String to, /*收信人*/

java.lang.String cc, /*抄送人*/

java.lang.String bcc, /*暗送人*/

java.lang.String subject, /*主题*/

java.lang.String body /*内容*/

) throws java.lang.Exception{

//变量声明

java.util.Properties props; //系统属性

javax.mail.Session mailSession; //邮件会话对象

javax.mail.internet.MimeMessage mimeMsg; //MIME邮件对象

//设置系统属性

props = java.lang.System.getProperties(); //获得系统属性对象

props.put("mail.smtp.host",smtp); //设置SMTP主机

//获得邮件会话对象

mailSession = javax.mail.Session.getDefaultInstance(props,null);

//创建MIME邮件对象

mimeMsg = new javax.mail.internet.MimeMessage(mailSession);

//设置发信人

mimeMsg.setFrom(new javax.mail.internet.InternetAddress(from));

//设置收信人

if(to!=null){

mimeMsg.setRecipients(javax.mail.Message.RecipientType.TO,javax.mail.internet.InternetAddress.parse(to));

}

//设置抄送人

if(cc!=null){

mimeMsg.setRecipients(javax.mail.Message.RecipientType.CC,javax.mail.internet.InternetAddress.parse(cc));

}

//设置暗送人

if(bcc!=null){

mimeMsg.setRecipients(javax.mail.Message.RecipientType.BCC,javax.mail.internet.InternetAddress.parse(bcc));

}

//设置邮件主题

//mimeMsg.setSubject(subject);

mimeMsg.setSubject(subject,"gb2312");

//设置邮件内容

mimeMsg.setDataHandler(new javax.activation.DataHandler(new pipi.jaf.StringDataSource(body,"text/html")));

//发送邮件

javax.mail.Transport.send(mimeMsg);

}

}

本套程序使用到JavaMail和JAVABEANS(TM) ACTIVATION FRAMEWORK(JAF):

[url=http://view.gznet.com/cgi-bin/rl_views.cgi?UID=10046270][img]http://refer.gznet.com/cgi-bin/rl_refer1.cgi?UID=10046270&refer=http%3A//www.chinaasp.com/sqlbbs/elist.asp%3FPage%3D8%26BoardID%3D71[/img][/url]

form.htm

========

邮件例程 - JavaMail - 发送HTML邮件
SMTP主机:
发信人:
收信人:
抄送人:
暗送人:
主题:
内容:

send.jsp

========

作者:何志强[hhzqq@21cn.com]

日期:2000-08-16

版本:1.0

功能:邮件例程 - JavaMail - 发送HTML邮件

--%>

//变量声明

java.lang.String smtp,from,to,cc,bcc,subject,body;

//获得用户输入数据

smtp = request.getParameter("smtp");

from = request.getParameter("from");

to = request.getParameter("to");

cc = request.getParameter("cc");

bcc = request.getParameter("bcc");

subject = request.getParameter("subject");

if(subject!=null){

subject = new java.lang.String(subject.getBytes("iso-8859-1"));

}

body = request.getParameter("body");

//发送邮件

pipi.mail.HTML.send(smtp,from,to,cc,bcc,subject,body);

%>

pipi.jaf.StringDataSource.java

==============================

/*

作者:何志强[hhzqq@21cn.com]

日期:2000-08-16

功能:字符串型数据源

*/

package pipi.jaf;

public class StringDataSource implements javax.activation.DataSource{

private java.lang.String data;

private java.lang.String type;

public StringDataSource(java.lang.String data,java.lang.String type){

this.data = data;

this.type = type;

}

public java.io.InputStream getInputStream() throws java.io.IOException{

return new java.io.StringBufferInputStream(data);

}

public java.io.OutputStream getOutputStream() throws java.io.IOException{

throw new java.io.IOException("it does not support this method now!");

}

public java.lang.String getContentType(){

return type;

}

public java.lang.String getName(){

return "pipi";

}

}

pipi.mail.HTML.java

===================

/*

作者:何志强[hhzqq@21cn.com]

日期:2000-08-16

功能:发送HTML邮件

*/

package pipi.mail;

public final class HTML{

public static void send(

java.lang.String smtp, /*SMTP主机地址*/

java.lang.String from, /*发信人*/

java.lang.String to, /*收信人*/

java.lang.String cc, /*抄送人*/

java.lang.String bcc, /*暗送人*/

java.lang.String subject, /*主题*/

java.lang.String body /*内容*/

) throws java.lang.Exception{

//变量声明

java.util.Properties props; //系统属性

javax.mail.Session mailSession; //邮件会话对象

javax.mail.internet.MimeMessage mimeMsg; //MIME邮件对象

//设置系统属性

props = java.lang.System.getProperties(); //获得系统属性对象

props.put("mail.smtp.host",smtp); //设置SMTP主机

//获得邮件会话对象

mailSession = javax.mail.Session.getDefaultInstance(props,null);

//创建MIME邮件对象

mimeMsg = new javax.mail.internet.MimeMessage(mailSession);

//设置发信人

mimeMsg.setFrom(new javax.mail.internet.InternetAddress(from));

//设置收信人

if(to!=null){

mimeMsg.setRecipients(javax.mail.Message.RecipientType.TO,javax.mail.internet.InternetAddress.parse(to));

}

//设置抄送人

if(cc!=null){

mimeMsg.setRecipients(javax.mail.Message.RecipientType.CC,javax.mail.internet.InternetAddress.parse(cc));

}

//设置暗送人

if(bcc!=null){

mimeMsg.setRecipients(javax.mail.Message.RecipientType.BCC,javax.mail.internet.InternetAddress.parse(bcc));

}

//设置邮件主题

//mimeMsg.setSubject(subject);

mimeMsg.setSubject(subject,"gb2312");

//设置邮件内容

mimeMsg.setDataHandler(new javax.activation.DataHandler(new pipi.jaf.StringDataSource(body,"text/html")));

//发送邮件

javax.mail.Transport.send(mimeMsg);

}

}

本套程序使用到JavaMail和JAVABEANS(TM) ACTIVATION FRAMEWORK(JAF):

JavaMail

[url=http://java.sun.com/products/javamail/]http://java.sun.com/products/javamail/[/url]

JAVABEANS(TM) ACTIVATION FRAMEWORK(JAF)

[url=http://java.sun.com/products/javabeans/glasgow/jaf.html]http://java.sun.com/products/javabeans/glasgow/jaf.html[/url]

以下是CLRC66301HN的IIC版本开发例程: 1. 确认硬件连接 首先,需要确认CLRC66301HN芯片的硬件连接是否正确。在IIC版本中,通常使用两个引脚SCL和SDA连接到主控芯片的IIC总线上。请检查这两个引脚是否正确连接。 2. 初始化IIC总线 在开始使用CLRC66301HN芯片之前,需要初始化IIC总线。以下是一个简单的例程,可以初始化IIC总线: ```c void i2c_init(void) { // 初始化IIC总线 // 设置IIC时钟频率为100kHz TWBR = 72; // 打开IIC总线 TWCR = (1 << TWEN); } ``` 3. 写入寄存器 在使用CLRC66301HN芯片之前,需要将一些寄存器设置为正确的值。以下是一个写入寄存器的例程: ```c void write_register(uint8_t reg, uint8_t value) { // 发送起始信号 TWCR = (1 << TWINT) | (1 << TWSTA) | (1 << TWEN); while (!(TWCR & (1 << TWINT))); // 检查状态码 if ((TWSR & 0xF8) != TW_START) return; // 发送从地址和写入位 TWDR = CLRC66301HN_I2C_ADDR << 1; TWCR = (1 << TWINT) | (1 << TWEN); while (!(TWCR & (1 << TWINT))); // 检查状态码 if ((TWSR & 0xF8) != TW_MT_SLA_ACK) return; // 发送寄存器地址 TWDR = reg; TWCR = (1 << TWINT) | (1 << TWEN); while (!(TWCR & (1 << TWINT))); // 检查状态码 if ((TWSR & 0xF8) != TW_MT_DATA_ACK) return; // 发送数据 TWDR = value; TWCR = (1 << TWINT) | (1 << TWEN); while (!(TWCR & (1 << TWINT))); // 检查状态码 if ((TWSR & 0xF8) != TW_MT_DATA_ACK) return; // 发送停止信号 TWCR = (1 << TWINT) | (1 << TWSTO) | (1 << TWEN); } ``` 这个例程将一个字节写入指定的寄存器中。 4. 读取寄存器 如果需要读取CLRC66301HN芯片中的某个寄存器的值,可以使用以下例程: ```c uint8_t read_register(uint8_t reg) { uint8_t value = 0; // 发送起始信号 TWCR = (1 << TWINT) | (1 << TWSTA) | (1 << TWEN); while (!(TWCR & (1 << TWINT))); // 检查状态码 if ((TWSR & 0xF8) != TW_START) return 0; // 发送从地址和写入位 TWDR = CLRC66301HN_I2C_ADDR << 1; TWCR = (1 << TWINT) | (1 << TWEN); while (!(TWCR & (1 << TWINT))); // 检查状态码 if ((TWSR & 0xF8) != TW_MT_SLA_ACK) return 0; // 发送寄存器地址 TWDR = reg; TWCR = (1 << TWINT) | (1 << TWEN); while (!(TWCR & (1 << TWINT))); // 检查状态码 if ((TWSR & 0xF8) != TW_MT_DATA_ACK) return 0; // 发送重启信号 TWCR = (1 << TWINT) | (1 << TWSTA) | (1 << TWEN); while (!(TWCR & (1 << TWINT))); // 检查状态码 if ((TWSR & 0xF8) != TW_REP_START) return 0; // 发送从地址和读取位 TWDR = (CLRC66301HN_I2C_ADDR << 1) | 0x01; TWCR = (1 << TWINT) | (1 << TWEN); while (!(TWCR & (1 << TWINT))); // 检查状态码 if ((TWSR & 0xF8) != TW_MR_SLA_ACK) return 0; // 读取数据 TWCR = (1 << TWINT) | (1 << TWEN); while (!(TWCR & (1 << TWINT))); value = TWDR; // 发送停止信号 TWCR = (1 << TWINT) | (1 << TWSTO) | (1 << TWEN); return value; } ``` 这个例程将返回指定寄存器中存储的一个字节的值。 5. 总结 这是一个非常简单的CLRC66301HN IIC版本的开发例程。您可以将其用作基础,以构建更复杂的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值