㈠ 如何在java中點擊郵件地址彈出郵件客戶端發郵件的代碼。
你可以看一下這個:http://blog.csdn.net/afgasdg/article/details/6706512
㈡ 怎麼用java調用默認郵件客戶端發送郵件
使用Java應用程序發送E-mail十分簡單,但是首先你應該在你的機器上安裝JavaMail API 和Java Activation Framework (JAF) 。
你可以在 JavaMail (Version 1.2) 下載最新的版本。
你可以再 在JAF (Version 1.1.1)下載最新的版本。
下面是一個發郵件的代碼:
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class SendEmail
{
public static void main(String [] args)
{
// 收件人電子郵箱
String to = "[email protected]";
// 發件人電子郵箱
String from = "[email protected]";
// 指定發送郵件的主機為 localhost
String host = "localhost";
// 獲取系統屬性
Properties properties = System.getProperties();
// 設置郵件伺服器
properties.setProperty("mail.smtp.host", host);
// 獲取默認session對象
Session session = Session.getDefaultInstance(properties);
try{
// 創建默認的 MimeMessage 對象
MimeMessage message = new MimeMessage(session);
// Set From: 頭部頭欄位
message.setFrom(new InternetAddress(from));
// Set To: 頭部頭欄位
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
// Set Subject: 頭部頭欄位
message.setSubject("This is the Subject Line!");
// 設置消息體
message.setText("This is actual message");
// 發送消息
Transport.send(message);
System.out.println("Sent message successfully....");
}catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
㈢ java發送郵件時出現的錯誤,埠什麼的都開了
今天在做內網郵箱發送功能時報如下錯誤:
554 Relay rejected for policy reasons.
測試時給內容郵箱發送正常,給126發送就報如上錯誤,後來查看是許可權限制的問題。
在網上查找到郵件發送時的常見問題總結,備注一下。
介紹郵件系統常見的錯誤代碼及解釋,還有客戶端報錯相關信息
按照下列「Q」代表問題,「A」代表解答。
Q:the server says:550 relaying mail to <> is not allowed
Q:The server says:550 <>... relaying denied
Q:the server says:550 5.7.1 relaying not permitted:
A:使用某些Smtp伺服器時,限制了收件人的地址,只能換一個Smtp伺服器。
Q:The server says:550 <>:local user only
Q:The server says:550 <>:Invalid User
Q:The server says:550 Invalid recipient
A:使用163.NET,163.com,yeah.Net和netease.com之類的Smtp伺服器時,只能用自身的信箱發信,所以要在Outlook Express的「帳戶屬性」中的「個人信息」裡面填寫正確的郵件地址。
Q:the server says:551 delivery not allowed to non-local recipient
Q:The server says:553 Relay restriction.
Q:The server says:553 From <>, message blocked.
Q:The server says:553 sorry,you are not allow to use this SMTP to relay your eami
Q:The server says:553 sorry, that domain isn't in my list of allowed rcpthosts
A:使用21cn.com,china.com,371.net,sina.com等大多數信箱的smtp伺服器時,只能用自身的信箱發信,所以要在Outlook Express的「帳戶屬性」中的「個人信息」裡面填寫正確的郵件地址。
Q:The server says:505 client was not authenticated
Q:The server says:553 authentication is required to send mail as <>
A:使用263.net和sohu.com的Smtp伺服器時,不但要用自身的郵箱發信,而且要加入身份驗證,所以即要在「個人信息」中填寫正確郵箱地址,又要選中「SMTP伺服器需要認證」。
Q:The server says:535 Error:authenticatin failed
Q:The server says:535 Authentication unsuccessful
Q:The server says:452 Insufficient system storage
A:在使用Esmtp認證的過程中出錯,檢查一下Esmtp設置,多試幾次。
Q:The server says:553 <>...domain name required
Q:The server says:550 Unable to relay for ...
A:多出現在用Wingate代理伺服器發送郵件時。雖然在Wingate中「POP3 郵箱帳號」要使用「用戶名#POP3地址」的格式,但在「帳戶屬性」中的「個人信息」中還是要填寫一般的格式。
Q:The server says:553 mailbox name not allowed
A:收件人郵箱地址不允許,需檢查收件人地址是否正確。
Q:the server says:553 sorry, your envelop sender is in my badmailfrom list
A:伺服器限制了收件人的地址,只能換一個smtp伺服器發信。
Q:the server says:554 Transaction failed
Q:The server says:451 Requested action aborted,errno=28
A:傳輸失敗,檢查網路問題。
Q:the server says:503 error:needmail command
Q:The server says:503 need mail before RCPT.
Q:The server says:503 Bad sequence of commands
A:消息命令順序出錯,一般出現在其他錯誤之後,先檢查之前出現的錯誤提示。
Q:The Server says:501 syntax.helo hostname
Q:The server says:501 Invalid domain name
Q:The server says:502 unimplemented command
Q:the server says:503 5.0.0 polite people say HELO first
Q:The server says:533 relay restriction
Q:The server says:544 <>:Recipient address rejected: Relay access denied
A:傳輸中的語法錯誤,原因不明。
連接伺服器錯誤,請檢查您的網路設置。如果安裝防火牆/殺毒軟體,請檢查防火牆/殺毒軟體是否允許DreamMail程序訪問 Internet。
賬號「xxx」發送郵件錯誤,錯誤代碼:554;錯誤信息:554 Relay rejected for policy reasons.(檢查郵件系統是否有發送外網郵箱的許可權)
附相關資料
SMTP 有一組固定的響應代碼,表示郵件伺服器對於傳送郵件要求的響應狀況。其中 421、450、451、452、550、551、552、553、554 等 9 組代碼表示您要求郵件伺服器執行的動作不成功。
354
Start Mail input
開始傳輸郵件正文
421
<domain> Service not available, closing transmission channel
括弧內的主機無法提供正常服務,關閉傳送管道,郵件將滯留在主機上
440
郵件址錯誤
445
Server Rejected
被封鎖
450
Client host rejected, Cannot resolve PTR
Temporary Process Error
Resource temporarily unaviable,please try again later
Requested mail action not taken: mailbox unavailable
無法 IP 反查
Requested mail action not taken: mailbox unavailable
所要求的郵件動作無法執行:郵件信箱無法提供服務,郵件將滯留在主機上
451
Domain of sender address [email protected] does not resolve
qq trouble creating files in queue (#4.3.0)
queuename: Cannot create "qfCAA21081" in "/var/spool/mqueue" (euid=0): No space left on device
Requested action aborted, errno=28.
無法解析寄件者郵件地址
Requested action aborted: local error in processing
要求動作中斷:本地端錯誤
Requested action aborted,errno=28
傳送失敗,檢查網路問題。
452
Message for would exceed mailbox quota
Requested action not taken: insufficient system storage
要求動作無法執行:系統空間不足
Insufficient system storage
在使用Esmtp認證的過程中出錯,檢查一下Esmtp設置,多試幾次。
454
Client was not authenticated
安全因素,被封鎖
472
[email protected] no DNS A-data returned
無法 IP 反查
501
Domain of sender address [email protected] does not exist
無法 IP 反查
Mailbox not found
5.1.1 ... User unknown
無此使用者
Syntax error,parameters in command "RCPT TO:[email protected]>"unrecognized or missing
no local part
Syntax error in recipient:
"@" or "." expected after "CC"
"@" or "." expected after "fau" :
email格式l錯誤
503
Either sender or receiver must be local account.
安全因素,許可權不足
[email protected]
無此使用者,不是本主機轉送信件的使用者
error:needmail command
need mail before RCPT
Bad sequence of commands
消息命令順序出錯,一般出現在其他錯誤之後,先檢查之前出現的錯誤提示。
5.0.0 polite people say HELO first
傳輸中的語法錯誤,原因不明
505
client was not authenticated
使用263.net和sohu.com的Smtp伺服器時,不但要用自身的郵箱發信,而且要加入身份驗證,所以即要在"個人信息"中填寫正確郵箱地址,又要選中"SMTP伺服器需要認證"。
521
This system is configured to reject mail from 211.20.70.148
安全因素,被封鎖
535
Error:authenticatin failed
Authentication unsuccessful
在使用Esmtp認證的過程中出錯,檢查一下Esmtp設置,多試幾次。
550
unknown user
User unknown
Invalid User
Recipient unknown
Mailbox disabled for this recipient
Unknown local part
Invalid recipient
Unable to relay for no such user
Recipient unknown
This account is not allowed
recipient unknown
No such mail drop defined,user disabled
I don't know
Relaying is prohibited
Relaying denied
relaying mail to <> is not allowed
<>... relaying denied
5.7.1 relaying not permitted:
REJECT SMTP Protocol Returned a Permanent Error 550 Forwarding percent hack is not permitted
Requested action not taken: mailbox unavailable
無此使用者,所要求動作無法執行:信箱不存在,郵件將退回給寄件者,或者限制了收件人的地址,只能換一個Smtp伺服器。
System is busy
郵件系統錯誤
Subj similar too many!!
太多同主題信件
Relaying denied. IP name lookup failed
IP name lookup failed
DNS FAILURE
cannot route to sender address
無法 IP 反查
Relaying denied
Mailbox unavailable: This site may not be used as a relay agent.
無法轉寄
<>:local user only
<>:Invalid User
Invalid recipient
使用163.net,163.com,yeah.net和netease.com之類的Smtp伺服器時,只能用自身的信箱發信,所以要在Outlook Express的"帳戶屬性"中的"個人信息"裡面填寫正確的郵件地址。
Unable to relay for ...
多出現在用Wingate代理伺服器發送郵件時。雖然在Wingate中"POP3 郵箱帳號"要使用"用戶名#POP3地址"的格式,但在"帳戶屬性"中的"個人信息"中還是要填寫一般的格式。
551
we do not relay ...
delivery not allowed to non-local recipient
無法轉寄,使用21cn.com,china.com,371.net,sina.com等大多數信箱的smtp伺服器時,只能用自身的信箱發信,所以要在Outlook Express的"帳戶屬性"中的"個人信息"裡面填寫正確的郵件地址。
User not local; please try <forward-path>
郵件伺服器知道使用者不屬於本地端,將嘗試括弧內的轉送路徑
552
Requested mail action aborted: exceeded storage allocation
所要求的動作中斷:超出所分配的儲存空間,郵件將退回給寄件者
Sorry, we don't allow mail from your host.
被封鎖
553
sorry, that domain isn't in my list of allowed rcpthosts
mailbox name not allowed
郵件地址錯誤
Requested action not taken: mailbox name not allowed
sorry, your envelop sender is in my badmailfrom list
所要求的動作未執行:信箱不允許該動作執行 ,或者伺服器限制了收件人的地址,只能換一個smtp伺服器發信。
Relay restriction.
From <>, message blocked.
sorry,you are not allow to use this SMTP to relay your eami
sorry, that domain isn't in my list of allowed rcpthosts
使用21cn.com,china.com,371.net,sina.com等大多數信箱的smtp伺服器時,只能用自身的信箱發信,所以要在Outlook Express的"帳戶屬性"中的"個人信息"裡面填寫正確的郵件地址。
authentication is required to send mail as <>
使用263.net和sohu.com的Smtp伺服器時,不但要用自身的郵箱發信,而且要加入身份驗證,所以即要在"個人信息"中填寫正確郵箱地址,又要選中"SMTP伺服器需要認證"。
<>...domain name required
多出現在用Wingate代理伺服器發送郵件時。雖然在Wingate中"POP3 郵箱帳號"要使用"用戶名#POP3地址"的格式,但在"帳戶屬性"中的"個人信息"中還是要填寫一般的格式。
554
delivery error: dd This user doesn't have a yahoo.com account
delivery error: dd Sorry, your message to xxxxyahoo.com cannot be delivered. This account is over quota.
無此使用者
Transaction failed
傳送失敗,檢查網路問題。
571
we don't accept junk mail (mail.sysnet.net.tw)
無效的寄件者
㈣ java電子郵箱客戶端
沒什麼優點,JAVA郵件API只是為了在企業級應用架構中構建模塊的一部分來完善一套系統的基礎功能。
如果用JAVA來開發郵件客戶端程序的話確實有些勉強,其遠遠比不上其他語言開發的客戶端程序的。
其最大的好處也就是讓程序員迅速熟悉JAVA MAIL 的API吧。其他的我還真的想不出來它會相比其他的會有什麼優勢。
㈤ 有沒有哪位大俠有java寫的郵件客戶端代碼,能收發郵件的,最好是圖形界面的,發到[email protected],謝了!
有發郵件(不帶附件)的,不是圖形界面的,留給前台界面調用的,要不?
㈥ JAVA編寫的用smtp模擬郵件客戶端,但是身份驗證500語法錯誤
首先你已經在郵件客戶端裡面設置了smtp伺服器的地址,並且你也填寫了你的郵箱賬戶和密碼,客戶端軟體在發送你所編輯好的郵件時,先和smtp進行驗證,之後才可以通過smtp伺服器來發送郵件的,這個過程並不是你通過網頁的方式登陸郵箱那樣可以被你看到,基本上驗證就是一眨眼就完成了。你可以嘗試一下,在你的客戶端裡面把密碼故意輸錯掉,然後試試看能不能發郵件就知道了,答案是肯定發不了,客戶端會提示你「賬號或者密碼錯誤,無法登陸伺服器」之類的提示。
㈦ 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;
}
}
㈧ java郵件功能自動發送郵件,outloook可以顯示圖片,gmail卻不顯示
有可能是由於你的圖片鏈接問題,部分郵件客戶端會加入安全機制,對於未經認證的網路圖片會進行過濾。
建議你把圖片地址換成網路或騰訊等知名網站的任意圖片,然後嘗試發送郵件試試看。
㈨ Java怎麼直接發送郵件,而不通過頁面或者outlook軟體.
1 必須編寫郵件客戶端程序,請使用javamail包
2 編寫一個頁面,觸發一個事件,講發送的內容傳遞給後台的郵件客戶端程序,即可完成你的要求
3 你不會是要求我們替你寫個程序吧???
祝你好運!