邮件服务器java
㈠ java 邮件服务器用什么比较好
跨平台的话也可以试试Apache James,纯Java的邮件服务器,很多企业在用。至于postfix单PC每日应付百万级的邮件应该不成问题,要配置的话相关设置可能要花些功夫,好在文档很全面,使用也很广泛。
不过既然要部署到linux何不就在linux下开发呢?
现在很多linux desktop做得挺易用的,仅是Java web开发的话上手不难,不妨直接在Ubuntu或SUSE下开发,然后再往相应的Server版上部署,这样程序修改的比较小。
㈡ 求用java Socket API编写一个SMTP邮件服务器程序
awdsdsds 的回答虽然不对题,不过也差不多了,说实话,我讨厌直接要结果的人。但是也许你是希望自己学到解决方式的人,所以给你个方式。
awdsdsds 建立的是个客户端,这里跑题了,你要自己做就得建立服务器。
ServerSocket 建立的时候注意一下端口就行了。不过也不是一定的,取决于你将来的客户端设置。
然后就accept()
等着对方创建连接吧。
然后就是数据格式的问题了。
你可以正常的用客户端发送一个最简单的分析一下数据格式,接来的肯定是字节,注意一下高低位。看看应该怎么将字节数据还原成邮件。
㈢ 如何在本机上利用java实现smtp邮件服务器
1.修改<postmaster>localhost</postmaster>,改成你自己的服务器域名,比如:<postmaster>support@</postmaster>
2.修改这些,也是改成自己的
<servernames autodetect="false" autodetectIP="false">
<servername></servername>
</servernames>
3.修改dns server,这是为了可以发外网邮件,查看DNS地址使用ipconfig/all,然后在配置文件中dnsserver节点下加入server地址.
㈣ Java怎么设置邮件服务器呢
邮件服务器用james的,james也是用Java开发的,到下面的页面去看看,里面就讲了如何用javamail和james开发自己的邮件系统,他讲的只是基础,其他的可以自己去网上查
㈤ JAVA邮件服务器
邮件服务器用james的,james也是用Java开发的,到下面的页面去看看,里面就讲了如何用javamail和james开发自己的邮件系统,他讲的只是基础,其他的可以自己去网上查
-----------
PS:可以不考虑服务器的实现,自己写一个mailet,收到一封就存数据库一封,(表自己设计),然后删除服务器上的邮件,其他操作全部针对数据库。。。慢慢研究吧,水很深啊!
㈥ Java收发邮件过程中具体的功能是怎么实现的
1.SMTP协议
用户连上邮件服务器后,要想给它发送一封电子邮件,需要遵循一定的通迅规则,SMTP协议就是用于定义这种通讯规则的。
因而,通常我们也把处理用户smtp请求(邮件发送请求)的邮件服务器称之为SMTP服务器。(25)
2.POP3协议
同样,用户若想从邮件服务器管理的电子邮箱中接收一封电子邮件的话,他连上邮件服务器后,也需要遵循一定的通迅格式,POP3协议用于定义这种通讯格式。
因而,通常我们也把处理用户pop3请求(邮件接收请求)的邮件服务器称之为POP3服务器。(110)
下图用于演示两帐户相互发送邮件的过程
packagecn.e.dlmu.send;
importjava.util.Properties;
importjavax.activation.DataHandler;
importjavax.activation.FileDataSource;
importjavax.mail.Message;
importjavax.mail.Session;
importjavax.mail.Transport;
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeBodyPart;
importjavax.mail.internet.MimeMessage;
importjavax.mail.internet.MimeMultipart;
importjavax.mail.internet.MimeUtility;
publicclassSendMail{
publicstaticvoidmain(String[]args)throwsException{
Propertiesprop=newProperties();
//连接的邮件服务器的主机名
prop.setProperty("mail.smtp.host","smtp.sina.com.cn");
//发送邮件的协议
prop.setProperty("mail.transport.protocol","smtp");
//是否向邮件服务器提交认证
prop.setProperty("mail.smtp.auth","true");
//创建session
Sessionsession=Session.getInstance(prop);
session.setDebug(true);
//得到transport
Transportts=session.getTransport();
//连接邮件服务器
ts.connect("smtp.sina.com.cn","[email protected]","xxxxx");
//发送邮件
MimeMessagemessage=createMessage(session);
ts.sendMessage(message,message.getAllRecipients());
ts.close();
}
(Sessionsession)throwsException{
MimeMessagemessage=newMimeMessage(session);
//设置邮件的基本信息
message.setFrom(newInternetAddress("[email protected]"));
message.setRecipient(Message.RecipientType.TO,newInternetAddress("[email protected]"));
message.setSubject("test");
//正文
MimeBodyParttext=newMimeBodyPart();
//设置charaset可以解决中文正文的乱码问题,内嵌可下载的图片
text.setContent("你好xxx,<imgsrc='c:/dog.jpg'/>测试成功!<br/><imgsrc='cid:aaa.jpg'/>","text/html;charset=gbk");
//图片1
MimeBodyPartimage=newMimeBodyPart();
image.setDataHandler(newDataHandler(newFileDataSource("src/88.jpg")));
image.setContentID("aaa.jpg");
//附件
MimeBodyPartattach=newMimeBodyPart();
DataHandlerdh=newDataHandler(newFileDataSource("src/javamail架包.jar"));
attach.setDataHandler(dh);
//解决文件中文乱码问题
attach.setFileName(MimeUtility.encodeText(dh.getName()));
//描述正文和图片的关系
MimeMultipartmp=newMimeMultipart();
mp.addBodyPart(text);
mp.addBodyPart(image);
mp.setSubType("related");
//描述正文和附件
MimeMultipartmp2=newMimeMultipart();
mp2.addBodyPart(attach);
//将正文封装为一个body
MimeBodyPartcontent=newMimeBodyPart();
content.setContent(mp);
mp2.addBodyPart(content);
mp2.setSubType("mixed");
message.setContent(mp2);
message.saveChanges();
returnmessage;
}
}
㈦ javamail或邮件服务器配置
收邮件要涉及到服务器的授权,不然任何人都可以收你的邮件了。
所以你要实现一个授权的类,然后产生一个对象放到Session session = Session.getDefaultInstance(props, null)中你设置为null的地方。比如:
public class CheckPword
extends Authenticator
String username
String userpword
public CheckPword
public CheckPword(String name String pword)
username = name
userpword = pword
protected PasswordAuthentication getPasswordAuthentication
/@todo Override this javax.mail.Authenticator method/
return new PasswordAuthentication(username, userpword)
调用:
Session session = Session.getDefaultInstance(props,
new CheckPword(user pword))
其实可以不用授权类,直接用用户名和密码连的,具体的问题,我现在上班没时间看,哈哈,不好意思
谢谢大家,我现在的问题是,我怎么连上接收信件的服务器,我写pop.126.com这个不好用,它总说连接不上。我不知道为[离线表情]大家有时间帮我看看吧,我做完发信了,但收信就做不出来了
刚才看了下126的帮助,是这个地址啊
接收邮件服务器: POP.126.com
发送邮件服务器: SMTP.126.com
㈧ 怎么用java编写一个邮件服务器
这个比较复杂。
如果是要学习,请参考 apache james 这个是邮件服务器, 然后你可以配合javamail ,写个web 界面调用 服务器搭建网页邮箱。
㈨ java mail 连接邮件服务器
不知有帮助没有了
<%@ page
import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*"
%>
<html>
<head>
<TITLE>JSP meets JavaMail, what a sweet combo.</TITLE>
</HEAD>
<BODY>
<%
try{
Properties props = new Properties();
Session sendMailSession;
Store store;
Transport transport;
sendMailSession = Session.getInstance(props, null);
props.put("mail.smtp.host", "smtp.jspinsider.com");
Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(new Date());
newMessage.setText(request.getParameter("text"));
transport = sendMailSession.getTransport("smtp");
transport.send(newMessage);
%>
<P>Your mail has been sent.</P>
<%
}
catch(MessagingException m)
{
out.println(m.toString());
}
%>
</BODY>
</HTML>
㈩ java 邮件服务器 成功一次 失败一次什么情况
是自己开发的邮件服务器?还是用java调用发送邮件的API失败?失败后,先看日志,客户端也好服务器也好,确定问题的原因