發送QQ郵件

 

 maven pom

    <dependency>
        <groupId>javax.mail</groupId>
	<artifactId>mail</artifactId>
	<version>1.4.7</version>
    </dependency>

發送郵件的方法

         /**
	 * 發送QQ郵件
	 * @param from 發件人
	 * @param to 收件人
	 * @param password 密碼/授權碼
	 * @param subject 主題
	 * @param content 內容
	 * @param debug 是否打印調試信息
	 * @throws Exception
	 */
	public void send(String from, String to, String password, String subject, String content, boolean debug) throws Exception{
		Properties properties = new Properties();
		if(debug){
			properties.setProperty("mail.debug", "true");
		}
		
		properties.setProperty("mail.smtp.auth", "true");
		properties.setProperty("mail.transport.protocol", "smtp");
		properties.setProperty("mail.smtp.host", "smtp.qq.com");
		properties.put("mail.smtp.ssl.enable", true);
		
		MailSSLSocketFactory mailSSLSocketFactory = new MailSSLSocketFactory();
		mailSSLSocketFactory.setTrustAllHosts(true);
		properties.put("mail.smtp.ssl.socketFactory", mailSSLSocketFactory);
		
		Session session = Session.getInstance(properties);
		
		Message message = new MimeMessage(session);
		message.setFrom(new InternetAddress(from));
		message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
		message.setSubject(subject);
		message.setText(content);
		
		Transport transport = session.getTransport();
		transport.connect(from, password);
		transport.sendMessage(message, message.getAllRecipients());
		transport.close();
	}

運行結果

        /**
	 * from
	 */
	public static final String SENDER_ADDRESS = "[email protected]";
	
	/**
	 * to
	 */
	public static final String RECIEVE_ADDRESS = "[email protected]";
	
	/**
	 * auth code
	 */
	public static final String AUTH_CODE = "aguwwkbojsct****";
	
	@Test
	public void test() throws Exception{
		send(SENDER_ADDRESS, RECIEVE_ADDRESS, AUTH_CODE, "test", "測試", true);
	}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章