Весь код, предоставленный в других ответах, является правильным и работает нормально, но немного грязно, поэтому я решил опубликовать библиотеку (все еще в разработке), чтобы использовать ее более простым способом: AndroidMail .
Вам нужно только создать MailSender, создать почту и отправить ее (уже обработано в фоновом режиме с помощью AsyncTask).
MailSender mailSender = new MailSender(email, password);
Mail.MailBuilder builder = new Mail.MailBuilder();
Mail mail = builder
.setSender(senderMail)
.addRecipient(new Recipient(recipient))
.setText("Hello")
.build();
mailSender.sendMail(mail);
Вы можете получить уведомление об отправленном электронном письме, а также оно поддерживает различные типы получателей (TO, CC и BCC), вложения и html:
MailSender mailSender = new MailSender(email, password);
Mail.MailBuilder builder = new Mail.MailBuilder();
Mail mail = builder
.setSender(senderMail)
.addRecipient(new Recipient(recipient))
.addRecipient(new Recipient(Recipient.TYPE.CC, recipientCC))
.setText("Hello")
.setHtml("<h1 style=\"color:red;\">Hello</h1>")
.addAttachment(new Attachment(filePath, fileName))
.build();
mailSender.sendMail(mail, new MailSender.OnMailSentListener() {
@Override
public void onSuccess() {
// mail sent!
}
@Override
public void onError(Exception error) {
// something bad happened :(
}
});
Вы можете получить его через Gradle или Maven:
compile 'it.enricocandino:androidmail:1.0.0-SNAPSHOT'
Пожалуйста, дайте мне знать, если у вас есть какие-либо проблемы с этим! :)