Java Mail FAQ: Solve difficult problems in email programming. When programming emails, we often encounter various problems, such as being unable to send emails, unable to add attachments normally, etc. In this article, PHP editor Youzi has compiled some common problems and solutions for you, hoping to help you successfully solve the difficulties in email programming.
import javax.mail.*; import javax.mail.internet.*; public class SendEmail { public static void main(String[] args) { // 设置发件人和收件人地址 String from = "sender@example.com"; String to = "recipient@example.com"; // 设置邮件主题和内容 String subject = "Hello from Java Mail"; String content = "This is an email sent using Java Mail."; // 创建一个邮件会话并连接到服务器 Properties props = new Properties(); props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port", "587"); Session session = Session.getDefaultInstance(props, null); try { // 创建一个邮件消息体 MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); message.setSubject(subject); message.setText(content); // 发送邮件 Transport.send(message); System.out.println("Email sent successfully."); } catch (MessagingException e) { e.printStackTrace(); } } }
Java Mail provides different ways to connect to SMTP servers. The most commonly used is to use the java.mail.Session
class. The following is a demo code showing how to use java.mail.Session
to connect to an SMTP server:
import javax.mail.*; import javax.mail.internet.*; public class ConnectToSmtpServer { public static void main(String[] args) { // 设置SMTP服务器地址和端口 String smtpHost = "smtp.example.com"; int smtpPort = 587; // 创建一个邮件会话并连接到服务器 Properties props = new Properties(); props.put("mail.smtp.host", smtpHost); props.put("mail.smtp.port", smtpPort); Session session = Session.getDefaultInstance(props, null); try { // 连接到SMTP服务器 session.connect(); System.out.println("Connected to SMTP server successfully."); } catch (MessagingException e) { e.printStackTrace(); } } }
Java Mail can connect to a POP3 server using the javax.mail.Store
class. The following is a demo code showing how to use javax.mail.Store
to connect to a POP3 server:
import javax.mail.*; import javax.mail.internet.*; public class ConnectToPop3Server { public static void main(String[] args) { // 设置POP3服务器地址和端口 String pop3Host = "pop3.example.com"; int pop3Port = 995; // 创建一个邮件会话并连接到服务器 Properties props = new Properties(); props.put("mail.pop3.host", pop3Host); props.put("mail.pop3.port", pop3Port); Session session = Session.getDefaultInstance(props, null); try { // 连接到POP3服务器 Store store = session.getStore("pop3"); store.connect(); System.out.println("Connected to POP3 server successfully."); } catch (MessagingException e) { e.printStackTrace(); } } }
Java Mail can connect to an IMAP server using the javax.mail.Store
class. Here is a demo code showing how to use javax.mail.Store
to connect to an IMAP server:
import javax.mail.*; import javax.mail.internet.*; public class ConnectToImapServer { public static void main(String[] args) { // 设置IMAP服务器地址和端口 String imapHost = "imap.example.com"; int imapPort = 993; // 创建一个邮件会话并连接到服务器 Properties props = new Properties(); props.put("mail.imap.host", imapHost); props.put("mail.imap.port", imapPort); Session session = Session.getDefaultInstance(props, null); try { // 连接到IMAP服务器 Store store = session.getStore("imap"); store.connect(); System.out.println("Connected to IMAP server successfully."); } catch (MessagingException e) { e.printStackTrace(); } } }
The above is the detailed content of Java Mail FAQ: Solving difficult questions in email programming. For more information, please follow other related articles on the PHP Chinese website!