Можно ли отправлять письмо на почту, используя Firebase ? Или есть ли другой способ?
Я пишу приложение для Android, которое отправлять на почту письмо. В данный момент код выглядит так:
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class EmailSender {
public static void sendMessage(String subject, String message_text) throws
MessagingException {
final Properties properties = new Properties();
properties.setProperty("mail.transport.protocol", "smtps");
properties.setProperty("mail.smtps.auth", "true");
properties.setProperty("mail.smtps.host", "smtp.gmail.com");
properties.setProperty("mail.smtps.user", "Почта который отправляет
письма@gmail.com");
Session session = Session.getDefaultInstance(properties);
MimeMessage message = new MimeMessage(session);
message.addRecipient(Message.RecipientType.TO, new
InternetAddress("Почта на которую приходит письма@mail.ru"));
message.setSubject(subject);
message.setText(message_text);
Transport transport = session.getTransport();
transport.connect(null, "password");
//Пароль от почты который отправляет письма
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
}
Да, да... Как вы уже заметили я храню пароль у клиента. Я умом особо не блещу ¯_(ツ)_/¯
Все работало нормально. Но через месяц он перестал отправлять письмо. Как оказалось это случилось потому что Google заблокировал аккаунт, подумав что кто то попытался сделать вход.
Я смог придумать только два варианта. Это:
- Создать свой сервер. И что бы он отправлял письмо на почту. И с приложения делать запрос в сервер на отправку письмо. Но это затратно. Еще я не знаю как это сделать. А на изучение уйдет время.
- Приложение уже использует Firebase. Как то сделать так, что бы именно Firebase отправлял письмо на почту. Но тут я тоже не знаю как сделать. В интернете ничего не нашел.