- Android — отправка электронной почты
- Intent Object — Действие для отправки электронной почты
- Намеренный объект — данные / тип для отправки электронной почты
- Intent Object — Дополнительно для отправки электронной почты
- Пример электронной почты
- пример
- Как отправить email с Android?
- Шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- Intent отправки Email
- Определение uses-permission в манифесте AndroidManifest.xml
- Описание интерфейса
- Код активности EmailActivity
- Типы действий Action
- MIME Type
- Extra данные
- Отправка электронной почты в Android с использованием JavaMail API без использования встроенного приложения по умолчанию
- Шаги для создания примера проекта:
- Почтовое приложение
Android — отправка электронной почты
Электронная почта — это сообщения, распространяемые с помощью электронных средств от одного пользователя системы одному или нескольким получателям через сеть.
Прежде чем приступить к работе с электронной почтой, вы должны знать функциональность электронной почты с намерением. Намерение передает данные из одного компонента в другой компонент в приложении или за его пределами.
Чтобы отправить электронное письмо из вашего приложения, вам не нужно реализовывать почтовый клиент с самого начала, но вы можете использовать существующий, такой как почтовое приложение по умолчанию, предоставляемое из Android, Gmail, Outlook, K-9 Mail и т. Д. Для этого Для этого нам нужно написать Activity, которая запускает почтовый клиент с неявным намерением с правильным действием и данными. В этом примере мы собираемся отправить электронное письмо из нашего приложения с помощью объекта Intent, который запускает существующие почтовые клиенты.
В следующем разделе описываются различные части нашего объекта Intent, необходимые для отправки электронного письма.
Intent Object — Действие для отправки электронной почты
Вы будете использовать действие ACTION_SEND для запуска почтового клиента, установленного на вашем Android-устройстве. Ниже приведен простой синтаксис для создания намерения с действием ACTION_SEND.
Намеренный объект — данные / тип для отправки электронной почты
Чтобы отправить электронное письмо, вам нужно указать mailto: в качестве URI, используя метод setData (), а тип данных будет text / plain, используя метод setType () следующим образом:
Intent Object — Дополнительно для отправки электронной почты
Android имеет встроенную поддержку для добавления полей TO, SUBJECT, CC, TEXT и т. Д., Которые можно прикрепить к цели перед отправкой намерения целевому почтовому клиенту. Вы можете использовать следующие дополнительные поля в вашей электронной почте —
Sr.No. | Дополнительные данные и описание | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
шаг | Описание |
---|---|
1 | Вы будете использовать Android studio для создания приложения Android и назовите его как Tutorialspoint в пакете com.example.tutorialspoint . |
2 | Измените файл src / MainActivity.java и добавьте необходимый код для отправки электронной почты. |
3 | Измените XML-файл макета. Res / layout / activity_main.xml добавьте любой компонент GUI, если это необходимо. Я добавляю простую кнопку для запуска почтового клиента. |
4 | Измените файл res / values / strings.xml, чтобы определить необходимые постоянные значения |
5 | Измените AndroidManifest.xml, как показано ниже |
6 | Запустите приложение, чтобы запустить эмулятор Android, и проверьте результат изменений, внесенных в приложение. |
Ниже приводится содержимое измененного основного файла активности src / com.example.Tutorialspoint / MainActivity.java .
Ниже будет содержание файла res / layout / activity_main.xml —
Здесь abc указывает на логотип tutorialspoint
Ниже будет содержимое файла res / values / strings.xml для определения двух новых констант:
Ниже приводится содержимое по умолчанию для AndroidManifest.xml —
Давайте попробуем запустить ваше приложение tutorialspoint . Я предполагаю, что вы подключили свое фактическое мобильное устройство Android к компьютеру. Чтобы запустить приложение из Android Studio, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». значок с панели инструментов. Перед запуском приложения программа установки Android Studio отобразит следующее окно, чтобы выбрать вариант, в котором вы хотите запустить приложение Android. Выберите мобильное устройство в качестве параметра, а затем проверьте свое мобильное устройство, которое отобразит следующий экран —
Теперь используйте кнопку « Написать письмо», чтобы вывести список всех установленных почтовых клиентов. Из списка вы можете выбрать один из почтовых клиентов для отправки вашей электронной почты. Я собираюсь использовать клиент Gmail для отправки своего электронного письма, в котором будут доступны все поля по умолчанию, как показано ниже. Здесь From: будет идентификатором электронной почты по умолчанию, который вы зарегистрировали для своего устройства Android.
Вы можете изменить любое из указанных полей по умолчанию и, наконец, использовать кнопку отправки электронной почты, чтобы отправить свою электронную почту указанным получателям.
Источник
Как отправить email с Android?
Давайте научимся отправлять email сообщение с вашего устройства с ОС Android.
Что мы будем делать?
Попытаемся отправить Email сообщение с вашего телефона, но для этого мы реализуем свой клиент который будет отправлять письмо на указанный вами email адрес.
Шаг 1
Создаем Android проект и создаем layout -> main.xml со следующим содержимым:
Выглядеть этот layout будет так:
Шаг 2
Теперь создадим Activity который и будет выполнять отправку сообщения на email.
Создаем класс MainActivity.java со следующим содержимым:
Как видите мы используем стандартный email клиент Android, чтобы с его помощью отправить уже заготовленное нами сообщение. Это делается следующим образом:
Шаг 3
Запускаем и смотрим:
После нажатия на кнопку Отправить появится окно, где вам нужно будет авторизоваться в Gmail, после чего можно отправить ваше сообщение.
Жмем кнопку Send. Готово сообщение отправлено.
Шаг 4
Проверяем пришло ли сообщение на отправленный email:
Как видите сообщение пришло.
И его содержимое соответствует тому что мы писали в нашем клиенте.
Источник
Intent отправки Email
В данной статье рассматривается пример использования неявного намерения Intent для отправки Email сообщения. Для реализации данной функции в приложении необходимо определить доступ (uses-permission) в манифесте приложения, сформировать и вызвать неявное намерение отправки сообщения в активности.
Примечание :
1. В примере отправки Email-сообщения система android под управлением AVD (Android Virtual Device) реально запросит адрес и пароль отправителя;
2. Сообщения в примере будут реально отправлены по указанным адресам, даже если будет использован AVD.
Определение uses-permission в манифесте AndroidManifest.xml
Для использования неявного намерения для отправки Email-сообщений следует в манифесте примера AndroidManifest.xml указать разрешения на доступ к определенным функциям, как это представлено в следующем коде :
Описание интерфейса
При описании интерфейса примера в файле «res/layout/activity_main.xml» (наименование может отличаться) используем шаблон типа RelativeLayout с кнопкой отправки Email сообщения.
Код активности EmailActivity
Активность EmailActivity реализует интерфейс View.OnClickListener, согласно которому переопределяется метод onClick. Вызов данного метода подключен к кнопке.
В методе onClick определяется неявное намерение типа Intent.ACTION_SENDTO. Возможно использовать один из 3-х вариантов :
Типы действий Action
- ACTION_SENDTO (без вложений);
- ACTION_SEND (одно вложение);
- ACTION_SEND_MULTIPLE (множество вложений);
MIME Type
При определении типа mime используйте следующие варианты :
Пример определения типа mime в фильтре намерения :
Extra данные
При определении типа данных возможны следующие варианты :
Источник
Отправка электронной почты в Android с использованием JavaMail API без использования встроенного приложения по умолчанию
Я пытаюсь создать приложение для отправки почты в Android.
Если я использую:
Это запустит встроенное приложение для Android; Я пытаюсь отправить письмо по нажатию кнопки напрямую, без использования этого приложения.
Отправка электронной почты в Android с использованием API JavaMail с использованием аутентификации Gmail.
Шаги для создания примера проекта:
MailSenderActivity.java:
GMailSender.java:
JSSEProvider.java:
ДОБАВЬТЕ 3 банки, найденные в следующей ссылке на ваш Android-проект
И не забудьте добавить эту строку в свой манифест:
Просто нажмите ссылку ниже, чтобы изменить доступ к учетной записи для менее безопасных приложений https://www.google.com/settings/security/lesssecureapps
Запустите проект и проверьте почтовую учетную запись получателя на наличие почты. Ура!
PS И не забывайте, что вы не можете выполнять сетевые операции из любой активности в Android. Следовательно, рекомендуется использовать AsyncTask или IntentService избегать сети в исключении основного потока.
Спасибо за вашу ценную информацию. Код работает нормально. Я могу добавить вложение также, добавив следующий код.
Не удалось подключиться к узлу SMTP: smtp.gmail.com, порт: 465
Добавьте эту строку в свой манифест:
Вы можете использовать JavaMail API для обработки ваших почтовых задач. JavaMail API доступен в пакете JavaEE, а его jar доступен для скачивания. К сожалению, его нельзя использовать непосредственно в приложении Android, поскольку он использует компоненты AWT, которые полностью несовместимы в Android.
Вы можете найти порт Android для JavaMail по следующему адресу : http://code.google.com/p/javamail-android/
Добавьте банки в ваше приложение и используйте метод SMTP
Чтобы помочь тем, кто получает исключение Network On Main Thread с целью SDK> 9. Это использует код droopie выше, но будет работать аналогично для любого.
Вы можете использовать AsyncTask, как показано ниже
100% рабочий код с демонстрацией. Вы также можете отправить несколько электронных писем, используя этот ответ.
Скачать проект ЗДЕСЬ
Шаг 1: Загрузите файлы почты, активации, дополнительные файлы jar и добавьте их в папку libs вашего проекта в Android Studio. Я добавил скриншот смотри ниже Ссылка для скачивания
Войдите через gmail ( используя почту ) и включите переключатель LINK.
Большинство людей забывают об этом шаге, надеюсь, вы этого не сделаете.
Шаг 2: После завершения этого процесса. Скопируйте и пропустите эти классы в свой проект.
GMail.java
SendMailTask.java
Шаг 3: Теперь вы можете изменить этот класс в соответствии с вашими потребностями, также вы можете отправлять несколько писем, используя этот класс. Я предоставляю XML и Java-файл оба.
activity_mail.xml
SendMailActivity.java
Примечание. Не забудьте добавить интернет- разрешение в свой файл AndroidManifest.xml.
Надеюсь, что это сработает, если нет, просто прокомментируйте ниже.
Использование SMTP — один из способов, а другие уже указали, как это сделать. Просто отметьте, что при этом вы полностью обойдете встроенное почтовое приложение и вам придется предоставить адрес SMTP-сервера, имя пользователя и пароль для этого сервера, либо статически в вашем коде, либо запросить его у пользователя. ,
Другой способ — это простой серверный скрипт, такой как php, который принимает некоторые параметры URL и использует их для отправки почты. Таким образом, вам нужно всего лишь сделать HTTP-запрос с устройства (это легко сделать с помощью встроенных библиотек) и не нужно хранить данные для входа в SMTP на устройстве. Это еще одно косвенное указание по сравнению с прямым использованием SMTP, но поскольку сделать запрос HTTP и отправлять почту из PHP очень просто, это может быть даже проще, чем прямой путь.
Почтовое приложение
Если письмо будет отправлено с учетной записи электронной почты пользователя по умолчанию, которую он уже зарегистрировал на телефоне, вам придется воспользоваться другим подходом. Если у вас есть достаточно времени и опыта, вы можете проверить исходный код приложения электронной почты Android, чтобы увидеть, предлагает ли оно какую-либо точку входа для отправки почты без взаимодействия с пользователем (я не знаю, но, возможно, есть такая).
Возможно, вы даже найдете способ запросить данные учетной записи пользователя (чтобы вы могли использовать их для SMTP), хотя я очень сомневаюсь, что это возможно, потому что это будет представлять огромную угрозу безопасности, а Android построен довольно надежно.
Источник