導航:首頁 > 編程語言 > java發送郵件伺服器

java發送郵件伺服器

發布時間:2024-08-07 03:03:36

Ⅰ 用java寫的郵件發送程序

界面自己寫一下就可以了,把相關的參數傳進去就可以了。 這個是我以前寫的。用的javamail。 有main方法,測試一下自己的郵件,應該沒問題的。希望可以幫到你。注意導入你需要的javamail.jar的包 -------------------------------------------------------------- package com.fourpane.mail; import java.util.Properties; import javax.mail.Address; import javax.mail.Flags; import javax.mail.Folder; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.NoSuchProviderException; import javax.mail.Session; import javax.mail.Store; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class TestMail { public static void main(String[] args) { //TestMail.sendMail(); //TestMail.receiveMail(); TestMail.deleteMail(); } /** * send mail */ public static void sendMail() { String host = "smtp.sina.com";//郵件伺服器 String from = "[email protected]";//發件人地址 String to = "[email protected]";//接受地址(必須支持pop3協議) String userName = "xingui5624";//發件人郵件名稱 String pwd = "******";//發件人郵件密碼 Properties props = new Properties(); props.put("mail.smtp.host", host); props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props); session.setDebug(true); MimeMessage msg = new MimeMessage(session); try { msg.setFrom(new InternetAddress(from)); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to));//發送 msg.setSubject("我的測試...........");//郵件主題 msg.setText("測試內容。。。。。。。");//郵件內容 msg.saveChanges(); Transport transport = session.getTransport("smtp"); transport.connect(host, userName, pwd);//郵件伺服器驗證 transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO)); System.out.println("send ok..........................."); } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } /** * receive mail */ public static void receiveMail() { String host = "pop3.sina.com"; String userName = "xingui5624"; String password = "******"; Properties props = new Properties(); Session session = Session.getDefaultInstance(props); session.setDebug(true); try { System.out.println("receive..............................."); Store store = session.getStore("pop3"); store.connect(host, userName,passWord);//驗證 Folder folder = store.getFolder("INBOX");//取得收件文件夾 folder.open(Folder.READ_WRITE); Message msg[] = folder.getMessages(); System.out.println("郵件個數:" + msg.length); for(int i=0; i<msg.length; i++) { Message message = msg[i]; Address address[] = message.getFrom(); StringBuffer from = new StringBuffer(); /** * 此for循環是我項目測試用的 */ for(int j=0; j<address.length; j++) { if (j > 0) from.append(";"); from.append(address[j].toString()); } System.out.println(message.getMessageNumber()); System.out.println("來自:" + from.toString()); System.out.println("大小:" + message.getSize()); System.out.println("主題:" + message.getSubject()); System.out.println("時間::" + message.getSentDate()); System.out.println("==================================================="); } folder.close(true);//設置關閉 store.close(); System.out.println("receive over............................"); } catch (NoSuchProviderException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } /** * delete mail */ public static void deleteMail() { String host = "pop3.sina.com"; String userName = "xingui5624"; String passWord = "******"; Properties props = new Properties(); //Properties props = System.getProperties();這種方法創建 Porperties 同上 Session session = Session.getDefaultInstance(props); session.setDebug(true); try { System.out.println("begin delete ..........."); Store store = session.getStore("pop3"); store.connect(host, userName, passWord);//驗證郵箱 Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_WRITE);//設置我讀寫方式打開 int countOfAll = folder.getMessageCount();//取得郵件個數 int unReadCount = folder.getUnreadMessageCount();//已讀個數 int newOfCount = folder.getNewMessageCount();//未讀個數 System.out.println("總個數:" +countOfAll); System.out.println("已讀個數:" +unReadCount); System.out.println("未讀個數:" +newOfCount); for(int i=1; i<=countOfAll; i++) { Message message = folder.getMessage(i); message.setFlag(Flags.Flag.DELETED, true);//設置已刪除狀態為true if(message.isSet(Flags.Flag.DELETED)) System.out.println("已經刪除第"+i+"郵件。。。。。。。。。"); } folder.close(true); store.close(); System.out.println("delete ok................................."); } catch (NoSuchProviderException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } /** * reply mail */ public static void replyMail() { //test } } 注意:此實現要求郵箱都支持pop3和smtp協議。現在老的網易郵箱都支持(2006年以前注冊的),所以的sina的 qq的都可以,雅虎的部分支持,具體的可以在網上搜下把。 ============================================================================== 還有一種辦法,也是我以前用到的。 其實最簡單的發郵件方式是用Apache的Common組件中的Email組件,封裝得很不錯。 特簡單。首先從Sun的網站上下載JavaMail框架實現,最新的版本是1.4.1。然後是JavaBeans Activation Framework,最新版本1.1.1,JavaMail需要這個框架。不過如果JDK是1.6的話就不用下了。1.6已經包括了JavaBeans Activation Framework。 最後從 http://commons.apache.org/email/ 下載最新的Common Email,版本1.1。 首先在Eclipse中建立一個新的Java工程,然後把JavaMail和Common Email解壓縮,在工程中添加解壓縮出來的所有Jar的引用。 代碼: package org.fourpane.mail; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; public class Mail { public static void main(String[] args) { //SimpleEmail email = new SimpleEmail(); HtmlEmail email = new HtmlEmail(); email.setHostName("smtp.163.com");//郵件伺服器 email.setAuthentication("xingui5624", "******");//smtp認證的用戶名和密碼 try { email.addTo("[email protected]");//收信者 email.setFrom("[email protected]", "******");//發信者 email.setSubject("xingui5624的測試郵件");//標題 email.setCharset("UTF-8");//編碼格式 email.setMsg("這是一封xingui5624的測試郵件");//內容 email.send();//發送 System.out.println("send ok.........."); } catch (EmailException e) { e.printStackTrace(); } } } 【如果發送不成功,可能是你的jar包問題,javamail 的jar可能和jdk1.5以上的j2ee的jar沖突。還有就是可能你的郵箱不支持pop3和smtp協議。】

求採納

Ⅱ java mail 發郵件連接不上smtp伺服器怎麼辦

java mail 發郵件連接不上smtp伺服器,檢查下伺服器是否需要續費了,沒有續費肯定是連不上的,或者就是代碼寫得有問題。

Ⅲ 用java完成郵件發送的詳細步驟代碼有更好。。。需不需要構建自己電腦上的伺服器啊

小公司用javamail就行了 大公司看你的操作系統 要是linux的話推薦用postfix Windows的話推薦用exchange。

附上exchange源碼要使用的話需要加包
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;

import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class Mailer {
private String host;
private String auth;
private String username;
private String domainUser;
private String password;

public boolean send(String[] to, String[] cc, String[] bcc, String subject, String content) throws MessagingException {
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", auth);
Session s = Session.getInstance(props);
//s.setDebug(true);

MimeMessage message = new MimeMessage(s);

InternetAddress from = new InternetAddress(username);

message.setFrom(from);
//e.printStackTrace();

//message.setFrom(from);

InternetAddress[] Toaddress = new InternetAddress[to.length];
for (int i = 0; i < to.length; i++)
Toaddress[i] = new InternetAddress(to[i]);
message.setRecipients(Message.RecipientType.TO, Toaddress);

if (cc != null) {
InternetAddress[] Ccaddress = new InternetAddress[cc.length];
for (int i = 0; i < cc.length; i++)
Ccaddress[i] = new InternetAddress(cc[i]);
message.setRecipients(Message.RecipientType.CC, Ccaddress);
}

if (bcc != null) {
InternetAddress[] Bccaddress = new InternetAddress[bcc.length];
for (int i = 0; i < bcc.length; i++)
Bccaddress[i] = new InternetAddress(bcc[i]);
message.setRecipients(Message.RecipientType.BCC, Bccaddress);
}
message.setSubject(subject);
message.setSentDate(new Date());

BodyPart mdp = new MimeBodyPart();
mdp.setContent(content, "text/html;charset=utf-8");
Multipart mm = new MimeMultipart();
mm.addBodyPart(mdp);
message.setContent(mm);

message.saveChanges();
Transport transport = s.getTransport("smtp");
transport.connect(host, (null == domainUser) ? username : domainUser, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
return true;
}

public Mailer(String host, String auth, String domainUser, String username, String password) {
super();
this.host = host;
this.auth = auth;
this.domainUser = domainUser;
this.username = username;
this.password = password;
}

public static void main(String[]args){
try {
new Mailer("你的ip", "true", "域名\\域用戶", "郵件", "密碼").send(new String[] { "[email protected]" }, null, null, "demo_title", "<h3>test</h3>");
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

Ⅳ java 發送郵件

要兩個java文件 還有一個mail.jar是不是只能用javamail誰也不敢說

第一個:

public class Constant {

public static final String mailAddress ="用戶名@163.com";
public static final String mailCount ="用戶名";
public static final String mailPassword ="密碼";
public static final String mailServer ="smtp.163.com";
//pukeyouxintest,

}

第二個:

import java.util.Date;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMail {
/**
* 發送簡單郵件
* @param str_from:發件人地址
* @param str_to:收件人地址
* @param str_title:郵件標題
* @param str_content:郵件正文
*/
public static void send(String str_from,String str_to,String str_title,String str_content) {

// str_content="<a href='www.163.com'>html元素</a>"; //for testing send html mail!

try {
//建立郵件會話
Properties props=new Properties(); //用來在一個文件中存儲鍵-值對的,其中鍵和值是用等號分隔的,
//存儲發送郵件伺服器的信息
props.put("mail.smtp.host",Constant.mailServer);
//同時通過驗證
props.put("mail.smtp.auth","true");
//根據屬性新建一個郵件會話
Session s=Session.getInstance(props);
s.setDebug(true); //有他會列印一些調試信息。

//由郵件會話新建一個消息對象
MimeMessage message=new MimeMessage(s);

//設置郵件
InternetAddress from= new InternetAddress(str_from); //[email protected]
message.setFrom(from); //設置發件人的地址
//
// //設置收件人,並設置其接收類型為TO
InternetAddress to=new InternetAddress(str_to); //[email protected]
message.setRecipient(Message.RecipientType.TO, to);

//設置標題
message.setSubject(str_title); //java學習

//設置信件內容
// message.setText(str_content); //發送文本郵件 //你好嗎?
message.setContent(str_content, "text/html;charset=gbk"); //發送HTML郵件 //<b>你好</b><br><p>大家好</p>
//設置發信時間
message.setSentDate(new Date());

//存儲郵件信息
message.saveChanges();

//發送郵件
Transport transport=s.getTransport("smtp");
//以smtp方式登錄郵箱,第一個參數是發送郵件用的郵件伺服器SMTP地址,第二個參數為用戶名,第三個參數為密碼
transport.connect(Constant.mailServer,Constant.mailCount,Constant.mailPassword);
//發送郵件,其中第二個參數是所有已設好的收件人地址
transport.sendMessage(message,message.getAllRecipients());
transport.close();

} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
//測試用的,你吧你想寫的內容寫上去就行
send(Constant.mailAddress,"收件人郵箱","標題","<b>內容</b>");
}
}

然後把mail.jar導入,就可以了,我用的是163 的,其他的吧相應的伺服器改一下就行了

Ⅳ java 郵件伺服器用什麼比較好

跨平台的話也可以試試Apache James,純Java的郵件伺服器,很多企業在用。至於postfix單PC每日應付百萬級的郵件應該不成問題,要配置的話相關設置可能要花些功夫,好在文檔很全面,使用也很廣泛。
不過既然要部署到linux何不就在linux下開發呢?
現在很多linux desktop做得挺易用的,僅是Java web開發的話上手不難,不妨直接在Ubuntu或SUSE下開發,然後再往相應的Server版上部署,這樣程序修改的比較小。

Ⅵ 如何在本機上利用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 :發送郵件免SMTP認證。我這邊拿到參數有 郵件伺服器IP地址、埠、發送郵箱

這個用JavaMail。
去 菜鳥教程 看下JavaMail教程 就行了。

作為程序員,最好自己了解自己動手。

Ⅷ java mail 向區域網內的郵件伺服器發送郵件

內網是自己搭建的郵件伺服器么?我以前用過apache的開源郵件伺服器james,也是只需要設置props.setProperty("mail.host", "smtp.mymail.com");就可以了,至於smtp.mymail.com是可以配置在郵件伺服器裡面的,跟ip沒關系的

Ⅸ 用spring和javamail實現代理伺服器發郵件時,報異常MailSendException: Mail server connection failed

javamail是不支持HTTP代理的,只支持socks代理。具體要怎麼做請參閱。網頁鏈接

閱讀全文

與java發送郵件伺服器相關的資料

熱點內容
微信發送的文件都損壞了 瀏覽:402
大量計算用什麼編程方式好 瀏覽:241
編程器刷微星bios刷哪個文件 瀏覽:111
選擇小米手機3版本 瀏覽:314
iphone鏈接 瀏覽:110
9元編程課是什麼 瀏覽:436
cad為什麼不能輸入stl文件 瀏覽:78
編程與外語哪個更好就業 瀏覽:299
為什麼程序會跑飛 瀏覽:659
matlab中的m文件是什麼 瀏覽:226
excel批量保存pdf文件 瀏覽:963
win10文件夾死機動不了 瀏覽:411
ps打開多頁pdf文件 瀏覽:901
資料庫統計某一欄位值出現次數 瀏覽:705
學編程需要哪些方面的能力 瀏覽:896
在word2003表格中插入一行 瀏覽:606
怎麼把拍照取字的文件轉成pdf 瀏覽:838
小米穿戴app哪裡更換表盤 瀏覽:911
滿足該條件更改文件內容的代碼 瀏覽:503
xp系統怎麼卸載win10系統文件 瀏覽:709

友情鏈接