This article describes how to use java mail to send mails, receive mails, and send mail attachments.
Send Email:
Java code
The Code is as follows: |
Copy code |
Public class JavaMailTest {
Public static void main (String args []) throws MessagingException { String smtpHost = "smtp.sohu.com "; String from = "javamailfrom@sohu.com "; String to = "javamailto@sohu.com ";
Properties properties = System. getProperties (); Session session = Session. getInstance (properties );
MimeMessage message = new MimeMessage (session ); Message. setFrom (new InternetAddress (from )); Message. addRecipient (Message. RecipientType. TO, new InternetAddress ()); Message. setSubject ("JavaMail Example "); Message. setText ("Did it work? "); Transport transport = session. getTransport ("smtp "); Transport. connect (smtpHost ,"","");
Transport. sendMessage (message, message. getAllRecipients ()); Transport. close (); } } |
The following error may occur:
'1970 5.1.1 <XXXX@ygsoft.com>: Recipient address rejected: User unknown in virtual mailbox table ',
The account you sent does not exist in the email system. Check whether your email address is entered incorrectly.
'554 5.7.1 <XXXX@ygsoft.com>: Sender address rejected: Access denied ',
Your email is an internal account, and the address you sent is not in the authorization domain
'1970 5.7.1 <XXXX@ygsoft.com>: Sender address rejected: not logged in ',
SMTP authentication is required for sending emails. The SMTP authentication part of your account is not set correctly. Please check the configuration
'1970 4.7.1 <unknown [***. ***]>: Client host rejected: Access denied'
Your IP address is blocked by the Administrator. Please check whether your machine is infected with viruses and send emails automatically
Receive email:
Java code
The Code is as follows: |
Copy code |
Public class JavaMailReadMailTest {
Public static void main (String args []) throws MessagingException, IOException { String pop3Host = "pop3.sohu.com "; String user = "******* @ sohu.com "; String pass = "******"; Properties properties = System. getProperties (); Session session = Session. getInstance (properties ); Store store = session. getStore ("pop3 "); Store. connect (pop3Host, user, pass );
Folder folder = store. getFolder ("INBOX "); Folder. open (Folder. READ_ONLY ); Message [] messages = folder. getMessages ();
For (int I = 0; I <messages. length; I ++ ){ System. out. println ("nFrom:" + messages [I]. getFrom () [0] + "n" + "Subject:" + messages [I]. getSubject ()); ContentType ct = new ContentType (messages [I]. getContentType ()); If ("text/html". equalsIgnoreCase (ct. getBaseType ())){ BufferedReader reader = new BufferedReader ( New InputStreamReader (messages [I]. getInputStream ())); String s; While (s = reader. readLine ())! = Null ){ System. out. println (s ); } } Else { Object o = messages [I]. getContent (); If (o instanceof String ){ System. out. println (o ); } Else { System. out. println (messages [I]. getContentType ()); If (o instanceof MimeMultipart ){ MimeMultipart mp = (MimeMultipart) o; For (int j = 0; j <mp. getCount (); ++ j ){ MimeBodyPart bp = (MimeBodyPart) mp. getBodyPart (j ); System. out. println (bp. getContentType ()); } } } }
} } } |
Send attachments:
Java code
The Code is as follows: |
Copy code |
Public class SendFile { Public static void main (String args []) throws Exception { String host = "smtp.sohu.com "; String from = "*******"; String to = "*******"; String fileAttachment = "d: \ FileName ";
Properties properties = System. getProperties ();
Session session = Session. getInstance (properties, null );
MimeMessage message = new MimeMessage (session ); Message. setFrom (new InternetAddress (from )); Message. addRecipient (Message. RecipientType. TO, new InternetAddress ()); Message. setSubject ("SendFile ");
MimeBodyPart messageBodyPart = new MimeBodyPart ();
MessageBodyPart. setText ("Hi ");
Multipart multipart = new MimeMultipart (); Multipart. addBodyPart (messageBodyPart );
MessageBodyPart = new MimeBodyPart (); DataSource source = new FileDataSource (fileAttachment ); MessageBodyPart. setDataHandler (new DataHandler (source )); MessageBodyPart. setFileName (fileAttachment ); Multipart. addBodyPart (messageBodyPart );
Message. setContent (multipart );
Transport transport = session. getTransport ("smtp "); Transport. connect (host ,"","");
Transport. sendMessage (message, message. getAllRecipients ());
Transport. close (); } }
|