站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题输入邮件,进行订阅,如何做?

输入邮件,进行订阅,如何做?

摘要: 输入邮件,进行订阅,如何做?


我有一些文本,包括大一点的文件,我想输入邮件地址,然后打开邮箱就可以收到这些东西了,请问该如何写代码?


然后打开邮箱就可以收到这些东西了,请问该如何写代码?
意思是你开了邮箱以后才有消息过来?


就是我如果订阅的该期刊,就会把东西发到我的邮箱。


定期发送邮件.


楼主意思表达的很模糊阿。你是指让客户订阅你的邮件期刊。还是你去订阅别人的期刊?
如果是前者,很好做的。收集客户的email。然后定期发送即可


先搞清问题再说吧


是啊楼主说清楚啊


是收集客户的email。然后定期发送即可。


顶一下。


写应该发送邮件的过程,循环调用一下。


up,就是发邮件给用户


我没有这方面的任何经验,请各位详细一点行吗?


我说的更清楚些:就像很多人才网站比如51job一样,该网站上有一些栏目比如招聘职位,如果用户登录并输入自己的Email订阅这些栏目,那么招聘职位就会定期发送到用户所填写的邮箱里面。我就是做这种网站,并实现这种功能。


给你一个例子,可以发送HTML格式邮件,并带附件。大部分是抄来的,局部做了修改。

import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler; // 此类在 activation.jar
import javax.mail.*;

/**
*
* @author Trumplet
*/
public class SendAnEmail_FJ {

/** Creates a new instance of SendAnEmail */
public SendAnEmail_FJ() {
}
public static void main(String[] args) {
//// 这个字符串包含了一个文本信息,将作为一个邮件的附件发送
String ccc="Text in a .txt file";

Properties props = new Properties();
Session sendMailSession;
Store store;
Transport transport;
sendMailSession = Session.getInstance(props);

String smtpServer = "smtp.163.com"; // 从 163.com 的邮箱发送
String from = "username@163.com";
String to="username@sohu.com"; // 发送到 sohu.com 的邮箱

props.put("mail.smtp.host", smtpServer);
props.put("mail.smtp.auth","true");
Message newMessage = new MimeMessage(sendMailSession);
try {
newMessage.setFrom(new InternetAddress(from));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
newMessage.setSubject("我测试5678");
newMessage.setSentDate(new Date());

Multipart mm=new MimeMultipart();//新建一个MimeMultipart对象用来存放BodyPart对象(事实上可以存放多个)

BodyPart mdp = new MimeBodyPart();//新建一个存放信件内容的BodyPart对象
mdp.setContent("

我测试HTML文本->带附件

","text/html;charset=gb2312");//给BodyPart对象设置内容和格式/编码方式
mm.addBodyPart(mdp);
//=========================================================================
//设置信件的附件1(自定义附件:直接将所设文本内容加到自定义文件中作为附件发送)
mdp=new MimeBodyPart();//新建一个存放附件的BodyPart
DataHandler dh=new DataHandler(ccc,"text/plain;charset=gb2312");
//新建一个DataHandler对象,并设置其内容和格式/编码方式
mdp.setFileName("texttoyou.txt");//加上这句将作为附件发送,否则将作为信件的文本内容
mdp.setDataHandler(dh);//给BodyPart对象设置内容为dh
mm.addBodyPart(mdp);//将含有附件的BodyPart加入到MimeMultipart对象中

/*
=====================================================================
//设置信件的附件(用本地上的文件作为附件)
mdp=new MimeBodyPart();
FileDataSource fds=new FileDataSource(tfj2);
dh=new DataHandler(fds);
int ddd=tfj2.lastIndexOf("//");
String fname=tfj2.substring(ddd);//提取文件名
String ffname=new String(fname.getBytes("gb2312"),"ISO8859-1");//处理文件名是中文的情况
mdp.setFileName(ffname);//可以和原文件名不一致,但最好一样
mdp.setDataHandler(dh);
mm.addBodyPart(mdp);
================================================================================
*
//设置信件的附件(用远程文件作为附件)
mdp=new MimeBodyPart();

URL urlfj=new URL(tfj3);
URLDataSource ur=new URLDataSource(urlfj);
//注:这里用的参数只能为URL对象,不能为URL字串,在前面类介绍时有误(请谅解),这里纠正一下.
dh=new DataHandler(ur);
int ttt=tfj3.lastIndexOf("/");
String urlname=tfj3.substring(ttt);
//String urlfname=new String(urlname.getBytes("gb2312"),"ISO8859-1");//不知怎么回事,这里不能处理中文问题
mdp.setFileName(urlname);
mdp.setDataHandler(dh);
mm.addBodyPart(mdp);

*/
newMessage.setContent(mm);//把mm作为消息对象的内容

transport = sendMailSession.getTransport("smtp");
transport.connect(smtpServer,"username","password");
newMessage.saveChanges();
transport.sendMessage(newMessage,newMessage.getAllRecipients());
transport.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}



谢谢楼上,我试试!


to LZ
trumplet(检查)的例子要先配环境的 LZ可以去看下JAVAMAIL的API。。
只是COPY代码是学不到东西的。


嘿嘿


谢谢各位,我把javamail,jaf的api及相应文档看了下,问题解决了。


↑返回目录
前一篇: 谁能提供个在JBuilder下用Struts开发的购物车程序
后一篇: action里调spring配置的bean居然是null.