Java第24堂: Send Gmail

Back
Category : Home
Send(service, "[email protected]", "[email protected]", "[email protected]", "test 1", "您好");
	public static void Send(Gmail service, String recipientEmail, String ccEmail, String fromEmail, String title, String message) throws IOException, MessagingException {
		Message m = createMessageWithEmail(createEmail(recipientEmail, ccEmail, fromEmail, title, message));
		service.users().messages().send("me", m).execute();
	}

	private static Message createMessageWithEmail(MimeMessage email) throws MessagingException, IOException {
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		email.writeTo(baos);
		String encodedEmail = Base64.encodeBase64URLSafeString(baos.toByteArray());
		Message message = new Message();
		message.setRaw(encodedEmail);
		return message;
	}

	private static MimeMessage createEmail(String to, String cc, String from, String subject, String bodyText) throws MessagingException {
		Properties props = new Properties();
		Session session = Session.getDefaultInstance(props, null);

		MimeMessage email = new MimeMessage(session);
		InternetAddress tAddress = new InternetAddress(to);
		InternetAddress cAddress = cc.isEmpty() ? null : new InternetAddress(cc);
		InternetAddress fAddress = new InternetAddress(from);

		email.setFrom(fAddress);
		if (cAddress != null) {
			email.addRecipient(javax.mail.Message.RecipientType.CC, cAddress);
		}
		email.addRecipient(javax.mail.Message.RecipientType.TO, tAddress);
		email.setSubject(subject);
		email.setText(bodyText);
		return email;
	}