郵件伺服器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失敗?失敗後,先看日誌,客戶端也好伺服器也好,確定問題的原因