- Отправка E-Mail средствами Android
- Часть 1. Mail, просто Mail
- Часть 2. Mail, анонимус Mail
- Как поменять язык в почте майл.ру на телефоне
- Как поменять язык в почтовом клиенте mail.ru
- Как поменять язык в самом письме
- Как изменить язык на телефонах Xiaomi
- Замена языка через поддержку сайта
- Как переводить иностранный текст в любых приложениях на Android
- Как включить переводчик в приложениях
Отправка E-Mail средствами Android
Привет хабр и привет всем!
В данной статье я покажу как реализуется отправка писем средствами самого Android, а также ещё один более интересный способ, но уже с применением внешней библиотеки, которая позволяет нам отсылать письма более приемлимыми для программиста способами.
Часть 1. Mail, просто Mail
- public class SimpleEMail extends Activity <
- Button send;
- EditText address, subject, emailtext;
- @Override
- public void onCreate(Bundle savedInstanceState) <
- super.onCreate(savedInstanceState);
- setContentView(R.layout.simple_email);
- // Наши поля и кнопка
- send = (Button) findViewById(R.id.emailsendbutton);
- address = (EditText) findViewById(R.id.emailaddress);
- subject = (EditText) findViewById(R.id.emailsubject);
- emailtext = (EditText) findViewById(R.id.emailtext);
- send.setOnClickListener( new OnClickListener() <
- @Override
- public void onClick(View v) <
- final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
- emailIntent.setType( «plain/text» );
- // Кому
- emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
- new String [] < address.getText().toString() >);
- // Зачем
- emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
- subject.getText().toString());
- // О чём
- emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,
- emailtext.getText().toString());
- // С чем
- emailIntent.putExtra(
- android.content.Intent.EXTRA_STREAM,
- Uri .parse( «file://»
- + Environment.getExternalStorageDirectory()
- + «/Клипы/SOTY_ATHD.mp4» ));
- emailIntent.setType( «text/video» );
- // Поехали!
- SimpleEMail. this .startActivity(Intent.createChooser(emailIntent,
- «Отправка письма. » ));
- >
- >);
- >
- >
* This source code was highlighted with Source Code Highlighter .
Вот, код до безобразия прост. Правда можно еще проще: если нам лень создавать дополнительное Activity для ввода наших полей, то можно было бы просто запустить наш Intent.
Плюсы: Простая реализация, достаточно удобно для обратной связи.
Минусы: У пользователя должна быть настроенная программа приёма-передачи почтовых сообщений, без неё обрабатывать данный Intent будет некому.
Часть 2. Mail, анонимус Mail
Данный метод я использовал в своём проекте, обозначим для начала плюсы:
- Не требует от пользователя настроенного клиента
- Может быть полностью анонимным
- Можно передавать все (в пределах разумного, конечно)
Для работы необходимы дополнительные библиотеки javamail-android.
Качаем их, и встраиваем в проект: Контекстное меню проекта > «Build Path» > «Add External Archives. » > «Наши файлы additional, mail, activation»
Для настройки нам также понадобится почтовый ящик зарегистрированный на gmail.com (или любом другом yandex, mail и.т.п.) настройки вы можете посмотреть здесь. В данном случае он будет выступать в виде шлюза через которые будут проходить наши письма.
Начинаем настраивать:
MailSenderClass.java
В данном классе записаны настройки того сервера, через который будет передаваться ваше сообщение. Здесь у нас есть несколько методов:
- public MailSenderClass(String user, String password) — Конструктор. В качестве аргументов передаются логин и пароль от нашего промежуточного ящика на gmail.com. Здесь же прописываются параметры smtp-подключения к серверу.
- protected PasswordAuthentication getPasswordAuthentication() — Аутентификация для сервера.
- public synchronized void sendMail(String subject, String body, String sender, String recipients, String filename) — Основной метод, в который передаются наши данные для отправки.
Рассмотрим код последнего метода чуть ближе:
- public synchronized void sendMail( String subject, String body, String sender, String recipients, String filename) throws Exception <
- try <
- MimeMessage message = new MimeMessage(session);
- // Кто
- message.setSender( new InternetAddress(sender));
- // О чем
- message.setSubject(subject);
- // Кому
- if (recipients.indexOf( ‘,’ ) > 0)
- message.setRecipients(Message.RecipientType.TO,
- InternetAddress.parse(recipients));
- else
- message.setRecipient(Message.RecipientType.TO,
- new InternetAddress(recipients));
- // Хочет сказать
- BodyPart messageBodyPart = new MimeBodyPart();
- messageBodyPart.setText(body);
- _multipart.addBodyPart(messageBodyPart);
- // И что показать
- if (!filename.equalsIgnoreCase( «» )) <
- BodyPart attachBodyPart = new MimeBodyPart();
- DataSource source = new FileDataSource(filename);
- attachBodyPart.setDataHandler( new DataHandler(source));
- attachBodyPart.setFileName(filename);
- _multipart.addBodyPart(attachBodyPart);
- >
- message.setContent(_multipart);
- Transport.send(message);
- > catch (Exception e) <
- Log.e( «sendMail» , «Ошибка отправки функцией sendMail! » );
- >
- >
* This source code was highlighted with Source Code Highlighter .
Метод также прост. Используя объект класса MimeMessage составляем наше письмо и для отправки передаём методу send, класса Transport.
JSSEProvider.java
Провайдер протокола безопасности для нашей почты. Линк.
VideoSelect.java
Код был взят из ApiDemos, которые поставляются в комплекте с Android SDK, и был чуть подправлен для выполнения с помощью метода startActivityForResult.
После выполнения возвращается строка, содержащая путь к файлу на карте памяти. Код можно будет посмотреть в проекте, он в конце статьи.
ExtendedMail.java
Основной метод отправления сообщения выполняется в функции sitv_sender_mail_async, представляющей класс AsyncTask:
- private class sender_mail_async extends AsyncTask String , Boolean><
- ProgressDialog WaitingDialog;
- @Override
- protected void onPreExecute() <
- // Выводим пользователю процесс загрузки
- WaitingDialog = ProgressDialog.show(ExtendedMail. this , «Отправка данных» , «Отправляем сообщение. » , true );
- >
- @Override
- protected void onPostExecute(Boolean result) <
- // Прячем процесс загрузки
- WaitingDialog.dismiss();
- Toast.makeText(mainContext, «Отправка завершена. » , Toast.LENGTH_LONG).show();
- ((Activity)mainContext).finish();
- >
- @Override
- protected Boolean doInBackground(Object. params ) <
- try <
- // Получаем данные с наших полей
- title = ((EditText)findViewById(R.id.screen_sendnews_et_title)).getText().toString();
- text = ((EditText)findViewById(R.id.screen_sendnews_et_text)).getText().toString();
- from = «from_post_msg@gmail.com» ;
- where = «where_post_msg@yandex.ru» ;
- // Вызываем конструктор и передаём в него наши логин и пароль от ящика на gmail.com
- MailSenderClass sender = new MailSenderClass( «mypostmail@gmail.com» , «password» );
- // И вызываем наш метод отправки
- sender.sendMail(title, text, from , where , attach);
- > catch (Exception e) <
- Toast.makeText(mainContext, «Ошибка отправки сообщения!» , Toast.LENGTH_SHORT).show();
- >
- return false ;
- >
- >
* This source code was highlighted with Source Code Highlighter .
- public void onClick(View v) <
- sender_mail_async async_sending = new sender_mail_async();
- async_sending.execute();
- >
* This source code was highlighted with Source Code Highlighter .
Таким образом создав небольшой класс-поток, можно спокойно слать необходимую информацию от клиента к себе на ящик.
Источник
Как поменять язык в почте майл.ру на телефоне
Вопрос как поменять язык в почте майл.ру на телефоне стал настолько популярным, что мы решили помочь решить эту проблему. Почту используют не только в личных целях, но и в бизнесе. Многим не понятен интерфейс почты. Особенно, когда необходимо настроить письма, язык писем или самой почты. Поэтому эта статья поможет разобраться, как поменять язык интерфейса.
Как поменять язык в почтовом клиенте mail.ru
Что бы поменять язык в почте майл.ру на телефоне:
- Заходим в почту и находим раздел Настройки.
- Заходим в раздел по ссылке Дополнительные параметры.
- В этом разделе находим блок Языки и меняем языковые настройки.
- Выбираем язык, который хотим использовать.
Как поменять язык в самом письме
Язык можно поменять также в самом письме методом изменения способа ввода:
- Открываем почту и заходим в Настройки.
- Нажимаем на Настройки и появляются языковые параметры.
- Устанавливаем флажок на Способ ввода текста.
- Необходимо выбрать необходимый язык и тип клавиатуры.
- Далее нажимаем кнопку Ок и сохраняем изменения. Эта кнопка находится внизу страницы.
Под списком папок в почте, находится раздел Языковых настроек. Почта поддерживает 10 языков: Русский, армянский, белорусский, английский, испанский, румынский, албанский, узбекский, казахский, молдавский.
В зависимости от версии Android зависит изменение языкового интерфейса. Но в основном способ один и тот же.
Как изменить язык на телефонах Xiaomi
В зависимости от прошивки телефона, интерфейс почты выглядит по разному. Самые новые версии, схожие с версиями прошивки с 9 версией. В основном язык в почте трудно поменять. Для начала, необходимо войти в почту по логину и паролю.
Заходим во вкладку аккаунт. Там есть личные данные и безопасность. Вот так это все выглядит.
Следующий шаг, находим вкладку служба поддержки. Потому что в этих телефонах, невозможно по другому поменять язык. В службу поддержки пишем свою проблему. Им необходимо написать из какой страны пишет человек. Как видите по фото, в телефоне Xiaomi нет вообще вкладки по смене языка. Многие сталкиваются с такой проблемой.
Почта mail.ru уже встроена в систему телефона. И как правило. она на русском языке. В зависимости от страны покупки телефона, почта настроена на нужный язык. Если язык автоматически изменился, необходимо удалить приложение с телефона и снова его скачать.
Замена языка через поддержку сайта
Самый простой способ смены языка через поддержку. Поддержка отвечает в течении 5 дней, язык меняют практически мгновенно. Можно использовать клон почты getupps, в котором есть функция смены языка. Почта позволяет просматривать сообщения, даже в местах, где нет интернета. При обновлении почты возникают проблемы автоматического смены языка. Если почту не обновлять, функции останутся прежние, но интерфейс будет без изменений. Часто в mail.ru появляется реклама, от которой нельзя избавится. Руководство позаботилась, чтобы рекламу нельзя было отключить.
Надеемся наши советы, помогут вам облегчить жизнь и научат использовать почту не только в личных целях, но и в бизнесе. Например письма, можно скопировать и отправить через переводчик. Это достаточно хорошо облегчает жизнь пользователям.
Источник
Как переводить иностранный текст в любых приложениях на Android
Большинство приложений, доступных в Google Play, ориентированы на международный рынок, а потому изначально имеют поддержку большинства популярных языков, в число которых входит и русский. Благодаря этому мы можем с комфортом пользоваться ими, не сталкиваясь с непониманием иностранных слов, обозначающих тот или иной элемент интерфейса. Однако проблема языкового барьера целиком всем равно не исчезла и имеет обыкновение время от времени напоминать о себе. Рассказываем, как легко и просто переводить текст в любых приложениях на Android.
Как показал беглый опрос моих личных знакомых, всякий раз, когда большинство из них сталкиваются с незнакомыми словами на иностранном языке, они копируют их, вставляют в переводчик и получают готовый перевод. Когда я узнал об этом, у меня встали волосы дыбом, ведь зачем все так усложнять, если в том же «Google Переводчике» есть встроенная функция перевода, которая действует в любых приложениях без исключения?
Как включить переводчик в приложениях
- Установите приложение «Google Переводчик», запустите его и перейдите в контекстное меню;
Важно понимать, что перевести с помощью описанного выше способа можно только текст с возможностью выделения и копирования. По этой причине «Google Переводчик» прекрасно подойдет для переводов посланий на почте, в мессенджерах, на новостных сайтах. А вот обеспечить локализацию вашей любимой игры, у которой отсутствует перевод на русский язык, приложению не удастся. Это связано с тем, что текст в играх обычно является рисованным и не подлежит копированию.
Подписывайся на наш канал в Яндекс.Дзен. По жизни пригодится.
Источник