以下是一段使用 Java 發(fā)送郵件的示例代碼,使用 JavaMail API 和 SMTP 協(xié)議:
import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; public class EmailSender { public static void main(String[] args) { // 設(shè)置郵件發(fā)送的參數(shù) String host = "smtp.example.com"; // SMTP 服務(wù)器地址 String username = "your_username@example.com"; // 發(fā)件人郵箱賬號(hào) String password = "your_password"; // 發(fā)件人郵箱密碼 String to = "recipient@example.com"; // 收件人郵箱地址 // 創(chuàng)建郵件會(huì)話對(duì)象 Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", host); props.put("mail.smtp.port", "587"); Session session = Session.getInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { // 創(chuàng)建郵件消息對(duì)象 Message message = new MimeMessage(session); message.setFrom(new InternetAddress(username)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); message.setSubject("Test Email"); message.setText("This is a test email sent from Java."); // 發(fā)送郵件 Transport.send(message); System.out.println("Email sent successfully."); } catch (MessagingException e) { System.out.println("Error sending email: " + e.getMessage()); } } }
在上面的代碼中,我們首先設(shè)置了郵件發(fā)送的參數(shù),包括 SMTP 服務(wù)器地址、發(fā)件人郵箱賬號(hào)、發(fā)件人郵箱密碼和收件人郵箱地址。然后,我們創(chuàng)建了一個(gè)郵件會(huì)話對(duì)象,通過(guò)設(shè)置會(huì)話屬性和身份驗(yàn)證器來(lái)配置 SMTP 服務(wù)器的連接。接下來(lái),我們創(chuàng)建了一個(gè)郵件消息對(duì)象,設(shè)置了發(fā)件人、收件人、主題和正文內(nèi)容。最后,我們調(diào)用 Transport.send()
方法來(lái)發(fā)送郵件,并在控制臺(tái)輸出結(jié)果。
需要注意的是,以上代碼僅僅是一個(gè)示例,實(shí)際的發(fā)送郵件過(guò)程中還需要處理各種異常情況和安全性問(wèn)題,例如防止郵件被盜用、防止郵件內(nèi)容被攔截或篡改、防止垃圾郵件等。