首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

【Android】发送Email(内置Gmail跟JavaMail)

2012-06-27 
【Android】发送Email(内置Gmail和JavaMail)Android发送Email的两种方法:?方法一:通过Intent调用内置的Gmail

【Android】发送Email(内置Gmail和JavaMail)

Android发送Email的两种方法:

?

方法一:通过Intent调用内置的Gmail发送邮件

优点:简单、方便

缺点:缺少灵活性,只能使用关联的gmail发送邮件

?

示例代码:

?

?

package dyingbleed.iteye;import java.util.Properties;import javax.activation.DataHandler;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.PasswordAuthentication;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.util.ByteArrayDataSource;public class MailSender extends Authenticator {public static final String host = "smtp.gmail.com"; private final String userName;private final String password;private Session session;public MailSender(String userName, String password) {this.userName = userName;this.password = password;initialize(); //初始化}private void initialize() {Properties props = new Properties();props.setProperty("mail.transport.protocol", "smtp");props.setProperty("mail.host", host);props.put("mail.smtp.auth", true);session = Session.getDefaultInstance(props, this);}@Overrideprotected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(userName, password);}/** * 发送Email * @param subject 标题 * @param body 内容 * @param sender 发送者 * @param recipients 接收者 * @throws MessagingException  * @throws AddressException  * */public synchronized void sendMail(String subject, String body, String sender, String recipients) throws AddressException, MessagingException {MimeMessage message = new MimeMessage(session);DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain"));/* * 设置MIME消息 * */message.setSender(new InternetAddress(sender));message.setSubject(subject);message.setDataHandler(handler);if(recipients.contains(",")) {message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));} else {message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));}Transport.send(message); //发送}}

热点排行
Bad Request.