⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 quickmailattach.java

📁 基于JavaMail开发的E-mail系统
💻 JAVA
字号:
// QuickMailAttach.java

import javax.mail.*;
import javax.mail.internet.*;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;

/**
 *  Utility class for sending e-mail message with attachment using the JavaMail API.
 *
 *  @author Chad (shod) Darby, darby@j-nine.com
 */
public class QuickMailAttach {

	/**
	 *  Sends a e-mail message with an attachment
	 *
	 *  @param smtpHost name of the SMTP mail server
	 *  @param from e-mail address of the sender
	 *  @param to e-mail address of the recipient
	 *  @param subject subject of the e-mail message
	 *  @param messageText the text of the message
	 *  @param fileName the name of the file to attach
	 *
	 *  @throws javax.mail.MessagingFormatException problems sending message
	 */
	public static void sendMessage(String smtpHost,
								   								 String from, String to,
								   								 String subject, String messageText,
								   								 String fileName)
	  throws MessagingException {

		// Step 1:  Configure the mail session
		System.out.println("Configuring mail session for: " + smtpHost);
		java.util.Properties props = new java.util.Properties();
		props.put("mail.smtp.host", smtpHost);
		Session mailSession = Session.getDefaultInstance(props);

		// Step 2:  Construct the message
		System.out.println("Constructing message -  from=" + from + "  to=" + to);
		InternetAddress fromAddress = new InternetAddress(from);
		InternetAddress toAddress = new InternetAddress(to);

		MimeMessage testMessage = new MimeMessage(mailSession);
		testMessage.setFrom(fromAddress);
		testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);
	    testMessage.setSentDate(new java.util.Date());
		testMessage.setSubject(subject);

	    //  Step 3:  Create a body part to hold the "text" portion of the message
	    System.out.println("Constructing 'text' body part");
	    MimeBodyPart textBodyPart = new MimeBodyPart();
	    textBodyPart.setText(messageText);

	    //  Step 4:  Create a body part to hold the "file" portion of the message
	    System.out.println("Attaching 'file' body part: " + fileName);
	    MimeBodyPart fileBodyPart = new MimeBodyPart();
   	    FileDataSource fds = new FileDataSource(fileName);
	    fileBodyPart.setDataHandler(new DataHandler(fds));
	    fileBodyPart.setFileName(fds.getName());
		System.out.println("Finished attaching file");

	    // Step 5:  Create a Multipart/container and add the parts
	    Multipart container = new MimeMultipart();
	    container.addBodyPart(textBodyPart);
	    container.addBodyPart(fileBodyPart);

	    // Step 6:  Add the Multipart to the actual message
	    testMessage.setContent(container);
		System.out.println("Message constructed");

		// Step 7:  Now send the message
		Transport.send(testMessage);
		System.out.println("Message sent!");
	}

	public static void main(String[] args) {
		if (args.length != 4) {
			System.out.println("Usage:  java QuickMailAttach <smtphost> <from> <to> <file>");
			System.exit(1);
		}

		String smtpHost = args[0];
		String from = args[1];
		String to = args[2];
		String fileName = args[3];
		String subject = "Test Message - quickmail_attach";

		StringBuffer theMessage = new StringBuffer();
		theMessage.append("Hello,\n\n");
		theMessage.append("Hope all is well.\n");
		theMessage.append("Cheers!");

		try {
			QuickMailAttach.sendMessage(smtpHost, from, to, subject, theMessage.toString(), fileName);
		}
		catch (javax.mail.MessagingException exc) {
			exc.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -