- 09, Jun 2023
- #1
Для отправки электронной почты с устройства Android можно использовать JavaMail API. Однако, прежде чем приступить к кодированию, необходимо включить поддержку JavaMail в вашем проекте Android. Вот пример кода для отправки электронной почты с Android:
groovyCopy code
javaCopy code
javaCopy code
- Добавьте зависимость 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
на соответствующие данные вашей учетной записи электронной почты и почтового сервера.
Обратите внимание, что отправка