Как отправить email с Android? – Devcolibri

  • Автор темы Lucania
  • 17
  • Обновлено
  • 09, Jun 2023
  • #1
Для отправки электронной почты с устройства Android можно использовать JavaMail API. Однако, прежде чем приступить к кодированию, необходимо включить поддержку JavaMail в вашем проекте Android. Вот пример кода для отправки электронной почты с Android:
  • Добавьте зависимость JavaMail API в файл
     build.gradle
    вашего проекта:


groovyCopy code
 implementation 'com.sun.mail:android-mail:1.6.5'
implementation 'com.sun.mail:android-activation:1.6.5'

  • Используйте следующий код для отправки электронной почты:


javaCopy code
 import android.os.AsyncTask;

import android.util.Log;

import java.util.Properties;

import javax.mail.*;

import javax.mail.internet.*;

public class SendEmailTask extends AsyncTask<Void, Void, Void> {

private static final String TAG = "SendEmailTask";

private static final String SENDER_EMAIL = "[email protected]";

private static final String SENDER_PASSWORD = "your_password";

private static final String RECIPIENT_EMAIL = "[email protected]";

@Override

protected Void doInBackground(Void... params) {

try {

// Настройка свойств для подключения к почтовому серверу

Properties props = new Properties();

props.put("mail.smtp.auth", "true");

props.put("mail.smtp.starttls.enable", "true");

props.put("mail.smtp.host", "smtp.example.com"); // Замените на адрес вашего почтового сервера

props.put("mail.smtp.port", "587");

// Создание сессии с аутентификацией

Session session = Session.getInstance(props, new Authenticator() {

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(SENDER_EMAIL, SENDER_PASSWORD);

}

});

// Создание объекта сообщения

Message message = new MimeMessage(session);

// Установка отправителя

message.setFrom(new InternetAddress(SENDER_EMAIL));

// Установка получателя

message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(RECIPIENT_EMAIL));

// Установка темы письма

message.setSubject("Пример отправки письма из Android");

// Установка текста письма

message.setText("Привет, это тестовое письмо из Android!");

// Отправка сообщения

Transport.send(message);

Log.i(TAG, "Письмо успешно отправлено!");

} catch (MessagingException e) {

Log.e(TAG, "Ошибка отправки письма: " + e.getMessage());

}

return null;

}

}


  • Чтобы отправить электронную почту, вызовите
     SendEmailTask
    в нужном месте вашего кода, например:


javaCopy code
 SendEmailTask sendEmailTask = new SendEmailTask();
sendEmailTask.execute();
Пожалуйста, замените
 [email protected]
,
 your_password
и
 smtp.example.com
на соответствующие данные вашей учетной записи электронной почты и почтового сервера. Обратите внимание, что отправка

Lucania


Рег
02 Feb, 2023

Тем
27158

Постов
27328

Баллов
298908
Тем
49554
Комментарии
57426
Опыт
552966

Интересно