自定义邮箱发送邮件以及普通发送邮件
Intent emailIntent = new Intent(Intent.ACTION_SEND);??emailIntent.setType("text/html");?
?emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,sendTo );?
?
?emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "test" );?
?emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "msg" );?
2.必须使用外部java mail library 以及写一个 类似下面的helper class
?
public class GMailSender extends javax.mail.Authenticator {?
?private String mailhost = "smtp.gmail.com";?
?private String user;?
?private String password;?
?private Session session;?
?
?static {?
? Security.addProvider(new JSSEProvider());?
?}?
?
?public GMailSender(String user, String password) {?
? this.user = user;?
? this.password = password;?
?
? Properties props = new Properties();?
? props.setProperty("mail.transport.protocol", "smtp");?
? props.setProperty("mail.host", mailhost);?
? props.put("mail.smtp.auth", "true");?
? props.put("mail.smtp.port", "465");?
? props.put("mail.smtp.socketFactory.port", "465");?
? props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");?
? props.put("mail.smtp.socketFactory.fallback", "false");?
? props.setProperty("mail.smtp.quitwait", "false");?
?
? session = Session.getDefaultInstance(props, this);?
?}?
?
?protected PasswordAuthentication getPasswordAuthentication() {?
? return new PasswordAuthentication(user, password);?
?}?
?
?public synchronized void sendMail(String subject, String body, String sender, String recipients) throws Exception {?
? MimeMessage message = new MimeMessage(session);?
? DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain"));?
? message.setSender(new InternetAddress(sender));?
? message.setSubject(subject);?
? message.setDataHandler(handler);?
? if (recipients.indexOf(',') > 0)?
? ?message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));?
? else?
? ?message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));?
? Transport.send(message);?
?}?
?
?public class ByteArrayDataSource implements DataSource {?
? private byte[] data;?
? private String type;?
?
? public ByteArrayDataSource(byte[] data, String type) {?
? ?super();?
? ?this.data = data;?
? ?this.type = type;?
? }?
?
? public ByteArrayDataSource(byte[] data) {?
? ?super();?
? ?this.data = data;?
? }?
?
? public void setType(String type) {?
? ?this.type = type;?
? }?
?
? public String getContentType() {?
? ?if (type == null)?
? ? return "application/octet-stream";?
? ?else?
? ? return type;?
? }?
?
? public InputStream getInputStream() throws IOException {?
? ?return new ByteArrayInputStream(data);?
? }?
?
? public String getName() {?
? ?return "ByteArrayDataSource";?
? }?
?
? public OutputStream getOutputStream() throws IOException {?
? ?throw new IOException("Not Supported");?
? }?
?}?
}?
Sending the email is t