Как отправить электронное письмо автоматически с помощью Android Studio

Я создаю приложение для Android, в котором результатом является изображение QR-кода. Как отправить это изображение по почте автоматически на электронную почту пользователей при нажатии кнопки. (Пользователь не должен видеть какой-либо интерфейс электронной почты или активность) Идентификатор электронной почты пользователя введен в предыдущем действии. Тема будет текстом по умолчанию для всех писем.

2
0
258
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Существуют библиотеки для отправки электронной почты, такие как JavaMail. Проблема в том, что вам нужен почтовый сервер для их отправки. Это потребует, чтобы либо пользователь знал и доверял вам учетные данные для своего smtp-сервера, либо вы размещали SMTP-сервер, через который приложение может отправлять почту. Первый случай вряд ли сработает, так как пользователь вряд ли будет знать эти данные, а если они достаточно технические, чтобы знать их, вряд ли доверит вам их. Во втором случае вероятность того, что ваши электронные письма будут помечены как спам, составляет почти 100%. О, и вы знаете, что вам нужно указать пароль к вашему почтовому серверу в приложении, что означает, что оно совершенно небезопасно и будет использоваться в качестве ретранслятора спама.

Вместо этого следует выполнить одно из следующих действий: 1) Просто запустите почтовое приложение пользователя, которое уже знает всю эту информацию и правильно настроено. 2) Не отправляйте на сторону клиента электронной почты. Сделайте это на стороне сервера. У вас по-прежнему будут проблемы с пометкой спама, но, по крайней мере, ваш сервер не будет полностью небезопасным.

Да, но мой проект похож на общедоступное устройство, которое будет храниться в общедоступной комнате, где люди будут взаимодействовать с ним, чтобы получать данные по почте. Таким образом, люди не могут использовать приложение электронной почты отсюда.

user11329956 08.04.2019 17:53

Тогда я предлагаю сделать это с сервера. Если вы попытаетесь сделать это из клиента, вы поместите информацию своего почтового сервера на устройство, что никогда не является хорошей идеей. По крайней мере, создайте конечную точку для получения этой информации с сервера, чтобы она не сохранялась на устройстве.

Gabe Sechan 08.04.2019 17:56

Другие вопросы по теме

Проверьте минимальную версию совместимости приложения Android
Отправка данных из одного приложения в определенное действие в другом приложении
Добавить значок после текстовой метки в нижней части навигации
Android: белый вид отображается, когда клавиатура отображается в версии Pie и Oreo
Предварительно загрузить следующую страницу в ViewHolder2, как это было автоматически сделано в ViewPager
Как отсортировать 2 зависимых списка массивов?
Можно ли создать атомарную транзакцию, охватывающую несколько узлов, с помощью облачных функций Firebase в базе данных в реальном времени?
Объявления Cordova admobpro не отображаются на устройствах Android
Приложение зависло на экране загрузки в эмуляторе Android
Как читать и использовать общие значения предпочтений в initstate()? Я могу читать и использовать значения в других виджетах, но не в своем API, который я вызываю в состоянии инициализации