如何使用Java发送qq邮件

Python011

如何使用Java发送qq邮件,第1张

方法:

1.前提准备工作:

首先,邮件的发送方要开启POP3 和SMTP服务--即发送qq邮件的账号要开启POP3 和SMTP服务

2.开启方法:

登陆qq邮箱

3.点击 设置

4.点击—-账户

5.找到:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 —点击开启

6.送短信 —–点击确定

7.稍等一会,很得到一个授权码! –注意:这个一定要记住,一会用到

8.点击保存修改 —OK 完成

9.java 测试代码:

package cn.cupcat.test

import java.util.Properties

import javax.mail.Message

import javax.mail.MessagingException

import javax.mail.Session

import javax.mail.Transport

import javax.mail.internet.AddressException

import javax.mail.internet.InternetAddress

import javax.mail.internet.MimeMessage

import javax.mail.internet.MimeMessage.RecipientType

public class SendmailUtil {

public static void main(String[] args) throws AddressException,MessagingException {

Properties properties = new Properties()

properties.put("mail.transport.protocol", "smtp")// 连接协议

properties.put("mail.smtp.host", "smtp.qq.com")// 主机名

properties.put("mail.smtp.port", 465)// 端口号

properties.put("mail.smtp.auth", "true")

properties.put("mail.smtp.ssl.enable", "true")//设置是否使用ssl安全连接 ---一般都使用

properties.put("mail.debug", "true")//设置是否显示debug信息 true 会在控制台显示相关信息

//得到回话对象

Session session = Session.getInstance(properties)

// 获取邮件对象

Message message = new MimeMessage(session)

//设置发件人邮箱地址

message.setFrom(new InternetAddress("[email protected]"))

//设置收件人地址message.setRecipients(RecipientType.TO,new InternetAddress[] { new InternetAddress("[email protected]") })

//设置邮件标题

message.setSubject("这是第一封Java邮件")

//设置邮件内容

message.setText("内容为: 这是第一封java发送来的邮件。")

//得到邮差对象

Transport transport = session.getTransport()

//连接自己的邮箱账户

transport.connect("[email protected]", "vvctybgbvvophjcj")//密码为刚才得到的授权码

//发送邮件transport.sendMessage(message, message.getAllRecipients())

}

}

10.运行就会发出邮件了。。。。

下面是我收到邮件的截图,当然我把源码中的邮件地址都是修改了,不是真实的,你们测试的时候,可以修改能你们自己的邮箱。最后,祝你也能成功,如果有什么问题,可以一起讨论!

注意事项

得到的授权码一定要保存好,程序中要使用

public boolean mainto()

{

boolean flag = true

//建立邮件会话

Properties pro = new Properties()

pro.put("mail.smtp.host","smtp.qq.com")//存储发送邮件的服务器

pro.put("mail.smtp.auth","true") //通过服务器验证

Session s =Session.getInstance(pro)//根据属性新建一个邮件会话

//s.setDebug(true)

//由邮件会话新建一个消息对象

MimeMessage message = new MimeMessage(s)

//设置邮件

InternetAddress fromAddr = null

InternetAddress toAddr = null

try

{

fromAddr = new InternetAddress(451144426+"@qq.com") //邮件发送地址

message.setFrom(fromAddr)//设置发送地址

toAddr = new InternetAddress("[email protected]") //邮件接收地址

message.setRecipient(Message.RecipientType.TO, toAddr) //设置接收地址

message.setSubject(title) //设置邮件标题

message.setText(content) //设置邮件正文

message.setSentDate(new Date())//设置邮件日期

message.saveChanges() //保存邮件更改信息

Transport transport = s.getTransport("smtp")

transport.connect("smtp.qq.com", "451144426", "密码")//服务器地址,邮箱账号,邮箱密码

transport.sendMessage(message, message.getAllRecipients()) //发送邮件

transport.close()//关闭

}

catch (Exception e)

{

e.printStackTrace()

flag = false//发送失败

}

return flag

}

这是一个javaMail的邮件发送代码,需要一个mail.jar

建议方法:

如果你的java会死亡/失去控制, 请用系统的任务调度来发送邮件

如果你的java由jboss等之类的托管, 用jboss内部的任务调度来发送邮件.

方法1:

Windws 平台, 在task中添加一个 任务, 命令行执行java 代码即可, 这样可靠性由操作系统保证

Linux等平台, 直接 crontab 处理即可.