Как переехать с Gmail на Яндекс.Почту?
Если по какой-то причине или причинам вы захотели сменить свой почтовик это статья для вас.
Я сам уже давно пользуюсь почтой Gmail и все мои соцсети и другие сервисы зарегистрированы на эту почту. То есть сразу отключить старую и включить новую не получится. Нужно сохранить преемственность и постепенно, сайт за сайтом менять привязку на новую почту.
Итак, как переехать с Gmail на Яндекс.Почту?
Эта задача делится на три основных шага:
- Перенести архив сообщений
- Перенести контакты
- Настроить пересылку сообщений с gmail на yandex
Оказывается, первый и третий пункты решаются одновременно. И очень просто!
Для начала нужно зарегистрироваться на Яндекс.Почте. Это очень быстро, самое сложное выбрать не занятое имя пользователя. При задании пароля не забываем, что простые пароли легко взломать.
Заходим в почту, нажимаем ссылку «Настройка» в правом верхнем углу, дальше выбираем «Сбор почты с других ящиков». Вводим мыло от гугла и пароль. Оставить или нет галочку «сохранять оригиналы писем в ящике» — ваш личный выбор.
В данном случае Яндекс.Почта сама знает нужные параметры настройки доступа к почте Гугла. После этой операции почта с Gmail начнет переливаться в ваш ящик. Не только новые письма, а абсолютно все письма с самого начала. Мой архив составлял более 2000 писем с 2006 года и перекачивался порциями несколько дней.
Шаг второй — контакты.
Для этого нужно сначала экспортировать контакты из Gmail.
Затем выбираем Contacts в выпадающем списке под логотипом Google вместо Gmail. Далее находим над списком контактов выпадающее меню More — пункт «Export. «.
Можно экспортировать только группу или все контакты. В поле формат выбираем «Outlook CSV format (for importing into Outlook or another application)». На ваш компьютер скачается файл с расширением .csv.
Возвращемся в Яндекс.Почту, переходим в меню Настройка (ссылка в правом верхнем углу). Жмем на «Контакты» в левой колонке страницы. Нажимаем кнопку «Добавить контакты из файла» и в открывшемся окне нажимаем «Выбрать файл». Выбираем тот самый .csv файл, полученный от Гугла. Нажимаем «Сохранить». Готово!
В группе «Все» или по названию вашей группы контактов, если вы их используете, появится число, соответствующее количеству ваших контактов.
Шаг третий выполнять не нужно. Все необходимое мы настроили в разделе «Настройка / Сбор почты с других ящиков». Все новые письма, полученные вашей почтой Gmail будут получены и в Яндекс.Почте. Логично, что и все другие ящики, которые у вас есть, вы можете настроить аналогичным способом.
Попутно с почтой вы получаете и доступ к своему Яндекс.Диску, аналогу Google Drive, который сейчас предоставляет до 8 Гб облачного хранилища. Размер же самой почты не ограничен!
Пользоваться почтой можно и классически — через веб интерфейс, так и с помощью приложений для всех основных мобильных платформ.
Яндекс.Почта это проект российского поисковика Яндекс и существует уже более 12 лет (с июня 2000 года).
Как перейти с Gmail на «Яндекс.Почту», сохранив все письма и контакты
Если по какой-то причине или причинам вы захотели сменить свой почтовый сервис, то сделать это не сложно. Рассказываем по шагам, как быстро переехать с одного сервиса на другой без потери данных.
Зарегистрируйтесь в «Яндексе»
Сперва вам нужно завести свой ящик на «Яндекс.Почте», если его у вас ещё нет. Для это нужен аккаунт «Яндекса», который также откроет доступ к облачному «Диску» и другим сервисам компании.
Если аккаунт у вас уже есть, и именно на него вы собираетесь переезжать, то просто авторизуйтесь.
Настройте пересылку писем из Gmail
Следующий шаг — перенаправление всех писем в «Яндекс.Почту». Это действие выполняется одновременно как для всех новых писем, так и для давно хранящихся в ящике Gmail. То есть переедет вся ваша почта.
Для этого откройте веб-версию «Яндекс.Почты», нажмите на шестерёнку настроек в правом верхнем углу и выберите «Сбор почты с других ящиков».
Далее нужно будет авторизоваться в Gmail, дав «Яндексу» доступ к своим письмам. Это можно сделать при помощи ввода логина и пароля, или же через форму авторизации, нажав на красную кнопку Gmail.
При необходимости всем письмам с Gmail можно будет присвоить метку и цвет, чтобы визуально разделить их с почтой, приходящей сразу на «Яндекс».
Также для метки можно указать условие — ставить только письмам выбранного адресата или с определённой темой. Ссылка «Мне нужны более сложные условия» позволит настроить более сложный фильтр.
После «Яндекс.Почта» начнёт постепенный перенос ваших писем из Gmail, от новых к старым. На это может уйти несколько дней, в зависимости от количества.
Скопируйте контакты Google
Чтобы «Яндекс.Почта» узнавала все ваши Google-контакты, их сначала нужно сохранить в специальный файл формата vCard, а уже потом из него добавить в «Яндекс».
Для этого откройте веб-версию «Google Контактов» и выберите в левом меню «Экспортировать». Система предложить перенести:
только предварительно выбранные контакты;
все сохранённые контакты;
с кем вы часто общаетесь — это все + те, с кем вы переписывались в почте, но не добавили в контакты.
Выберите нужный пункт и формат vCard — сохраните файл на ПК.
Перенесите контакты в «Яндекс»
Чтобы перенести данные из сохранённого файла, откройте «Яндекс.Почту», нажмите на шестерёнку настроек справа и выберите «Контакты».
В открывшемся окне нажмите «Загрузить контакты из файла» → «Выбрать файл» и выберите сохранённый ранее vCard (формат будет VCF).
Чтобы проверить, получилось ли перенести контакты, в верхнем меню сервисов нажмите «Ещё» и выберите «Контакты». Откроется их список.
Теперь при вводе первых символов имени или почты адресата «Яндекс» будет предлагать выбрать контакт из сохранённых — как и Gmail.
На этом всё — контакты на месте, а письма постепенно появятся в списке входящих. Останется только их отсортировать, если это необходимо.
Перенос почты для домена с Google на Яндекс
ВНИМАНИЕ! Статья – 2016 года, многие сведения и, тем более, скриншоты устарели! Обновлять её у меня нет ни времени, ни желания, но текстом можно пользоваться для понимания общей последовательности действий.
В патриотическом порыве взвесив „за“ и „против“, в начале этого года перенёс почту в своём домене с Google на Яндекс.
Зачем? Причины могут быть у каждого свои: может быть, вы любите ФСБ больше, чем NSA, вы не хотите платить Google за то, что Яндекс предлагает бесплатно, или вам просто нравится Яндекс…
Для меня было важно следующее:
1. Более быстрая доставка почты от адресатов в России
(Почтовые серверы Яндекса расположены в России)
2. Не заблокирован в Китае
3. Неограниченный объём почтового ящика (в бесплатной версии Google Apps – до 15 Gb)
Цена сервиса меня в частности не волновала, т.к. Google Apps for Domain зарегистрировал ещё в те времена, когда было можно зарегистрировать бесплатную „семейную“ версию. Но сейчас это немаловажно, согласен.
Так или иначе, вы решили перенести почту с Гугла на Яндекс. Как это сделать?
Первым делом, составим план действий.
План перехода
А. Экспорт данных в почте Google для домена
Б. Подключение домена к ПДД Яндекса
В. Импорт данных в Яндекс
Г. Завершение настройки почты в Яндексе
Д*. Настройка EAS и Push-уведомлений для почты
Теперь подробнее о том, что нужно сделать на каждом этапе.
А. Экспорт данных в почте Google для домена
1. Составить список активных почтовых ящиков и их alias′ов (псевдонимов) в почте Google для домена
Это поможет не потерять ни один из ящиков и воссоздать их впоследствии в ПДД (почта для домена) Яндекса.
2. Создать пароли приложений в Google
В настройках конфиденциальности Google создайте отдельные пароли приложений. Эти пароли нам понадобятся в дальнейшем для импорта данных во вновь созданные почтовые ящики Яндекса.
3. Экспортировать контакты
Контакты (адресную книгу) экспортируйте в файл vCard (.vcf) для последующего импорта в адресную книгу в учётной записи на Яндексе.
Если Вы синхронизируете адресную книгу с устройствами на iOS или macOS, то лучше экспортировать контакты из приложения Контакты (Contacts). Тогда в экспортируемом файле будут сохранены все картинки (аватарки) пользователей. Прямой экспорт из Gmail картинки контактов не сохраняет.
4. Экспортировать календарь
Аналогично, в программе, работающей с календарями, экспортируйте календари из Google в формат vCalendar (.ics). Кроме того, экспортировать календарь можно и из Календаря Google в браузере.
Теперь всё готово к подключению и настройке домена на Яндексе.
Б. Подключение домена к ПДД Яндекса
1. Подключить домен в ПДД Яндекса
Если вы ещё не имеете учётной записи на Яндексе, придётся её зарегистрировать, т.к. администрировать домен(ы) в ПДД Яндекса может только учётная запись @yandex.ru.
На главной странице ПДД Яндекса добавьте ваш домен, и затем подтвердите право владения им.
2. Настроить записи MX
Если вы подключили домен к ПДД Яндекса, но не делегировали его на Яндекс, то потребуется установить MX-запись у вашего регистратора.
3. Выполнить проверку домена в ПДД Яндекса
Поддерживаются способы подтверждения владения доменом через загрузку файла на сайт, создание записи CNAME в DNS, либо делегирование домена на NS-серверы Яндекса.
Последний способ хорош ещё и тем, что у Яндекса есть API для управления записями DNS.После вступления в силу изменений в записях DNS вы сможете создавать почтовые ящики в своём домене.
4. Создать почтовые ящики пользователей
Согласно списку, сделанному в п. А1, воссоздайте почтовые ящики пользователей и их алиасы (псевдонимы). Здесь же можно указать почтовый ящик, в который будут попадать письма, направленные на несуществующие ящики в домене.
Домен подключен к ПДД Яндекса
5. Попросить пользователей выполнить вход в каждый из созданных почтовых ящиков
Это позволит пользоваться почтой через почтовые программы, а не только через веб-интерфейс.
На этой стадии новая почта приходит уже в почтовые ящики на Яндексе. Остаётся перенести в них старые данные, оставшиеся в почте Google.
В. Импорт данных в Яндекс
1. Закрыть почтовые программы, использующие старые ящики на Google
Это исключит изменения данных во время миграции почты.
2. Импортировать почту из старых ящиков
Используя созданные пароли приложений, импортируйте почту в новые ящики на Яндексе.
Начало импорта почты в ПДД Яндекса
В моём случае импорт почты занял очень продолжительное время: более 15 часов для почтового ящика объёмом 10.7 Gb (11.6 тыс. сообщений).
Долгожданное окончание импорта почты в ПДД Яндекса
3. Импортировать календари и контакты
У Яндекса есть соответствующие сервисы – календарь и контакты (открываются из веб-интерфейса почты). Оба сервиса позволяют использовать контакты и календарь через открытые протоколы CardDAV и CalDAV, то есть контакты и календарь можно подключить на смартфоне, планшете или компьютере.
* Сервер CardDAV у Яндекса плохо обрабатывает пакетный импорт (на момент миграции почты), поэтому лучше синхронизировать контакты по одному, например, в приложении Contacts.
* Не забудьте отметить учётную запись Яндекса для сохранения контактов по умолчанию, иначе ваши вновь создаваемые на телефоне контакты будут попадать в другой сервис и не будут видны в почте.
4. Проверить результаты импорта
Перед следующим шагом откройте новый почтовый ящик, убедитесь, что перенесены все папки и письма из старого ящика.
5. Отключить пароли приложений в Google
После завершения миграции отключите пароли приложений. В них больше нет надобности.
Г. Завершение настройки почты в Яндексе
1. Установить новые записи SPF и DKIM в DNS
Чтобы почта на Яндексе работала правильно, а отправленные письма не попадали в спам, настройте SPF-запись и DKIM-подпись в DNS. Если вы делегировали домен на Яндекс, скорее всего эти записи будут настроены автоматически. Содержимое открытого ключа, которое должно быть указано в DKIM-записи, показывается один раз. Впоследствии его можно вызвать с помощью API ПДД через HTTP-запрос.
2. Поменять пароли для ящиков на Яндексе
И попросите об этом других пользователей после того, как они вошли в почту первый раз по первичным паролям, полученным при создании ящиков. Также не грех настроить и двухфакторную аутентификацию.
3. (Пере)настроить метки, фильтры и сбор почты с других ящиков
Почтовый ящик в Яндексе тоже умеет применять фильтры, цветовые метки к входящим сообщениям не хуже Google. Однако всё это придётся настроить вручную заново каждому из пользователей.
4. Обновить настройки SMTP для приложений
Если вы использовали какие-либо приложения, которые отправляли почту через SMTP Google (системные уведомления серверов, WordPress и т.п.), теперь лучше переключить их на использование SMTP Яндекса, или воспользоваться сторонним API, например, SendGrid.
Д*. Настройка EAS и Push-уведомлений для почты
Хотите получать Push-уведомления для входящей почты, используя стандартное приложение Почта (Mail) в iOS/Android? Это реально, но потребует некоторой квалификации. Речь идёт о настройке Z-Push – open-source-реализации протокола Microsoft Exchange Active Sync (EAS) – на своём сервере.
Для установки и настройки Z-Push понадобится собственный виртуальный сервер VPS/VDS или физический компьютер. Если у вас уже есть сайт, и он работает на общем (shared) хостинге, стоит задуматься о переносе его на VPS. Я уже давно использую DigitalOcean, и советую его всем, кому недостаточно возможностей shared-хостинга, и кто хочет „вырасти“ и иметь дополнительные возможности кроме работы веб-сайта.
1. Установка Z-Push
Как установить Z-Push, подробно расписано на странице Z-Push wiki. Действительно, Z-Push удобнее всего устанавливать из репозитория.
Положим, у вас уже есть Droplet (VPS) на DigitalOcean с Ubuntu 16.04 LTS на борту, а также установлены nginx, php5.6-fpm (Z-Push ещё не поддерживает PHP 7.0) и memcached.
Тогда процесс установки Z-Push будет выглядеть примерно так:
Создаём файл /etc/apt/sources.list.d/z-push.list:
sudo vi /etc/apt/sources.list.d/z-push.list
Вносим туда строку и сохраняем файл:
deb http://repo.z-hub.io/z-push:/final/Debian_8.0/ /
Выполняем команду по добавлению ключа репозитория:
wget -qO — http://repo.z-hub.io/z-push:/final/Debian_8.0/Release.key | sudo apt-key add —
Обновляем список пакетов:
sudo apt-get update
Устанавливаем Z-Push:
sudo apt-get install z-push-common z-push-backend-caldav z-push-backend-carddav z-push-backend-combined z-push-backend-imap z-push-backend-ldap z-push-backend-galsearch-ldap z-push-ipc-memcached z-push-ipc-sharedmemory z-push-state-sql z-push-autodiscover
В один из файлов настройки php-fpm – /etc/php/5.6/fpm/pool.d/www.conf – добавляем для совместимости:
; Added for Z-Push compatibility
php_flag[magic_quotes_gpc] = off
php_flag[register_globals] = off
php_flag[magic_quotes_runtime] = off
php_flag[short_open_tag] = on
php_admin_flag[safe_mode] = off
2. Настройка Z-Push
Конфигурационные файлы Z-Push при обычном способе установки расположены в директории /etc/z-push.
Я приведу пример настройки, в котором оставлены только содержательные строки и удалены все комментарии, находившиеся в файлах после установки. Комментариями отмечены только те места, которые требуют внимания.
Для начала отредактируем главный файл настроек /etc/z-push/z-push.conf.php:
<?php
// Часовой пояс
define ( ‘TIMEZONE’ , ‘Europe/Moscow’);
define ( ‘BASE_PATH’ , dirname($_SERVER[‘SCRIPT_FILENAME’]). ‘/’);
define ( ‘SCRIPT_TIMEOUT’ , 0);
define ( ‘USE_X_FORWARDED_FOR_HEADER’ , false);
define («CERTIFICATE_OWNER_PARAMETER», «SSL_CLIENT_S_DN_CN»);
// Используем полный адрес e-mail для логина. Это нужно для авторизации в ПДД Яндекса:
define ( ‘USE_FULLEMAIL_FOR_LOGIN’ , true);
define ( ‘STATE_MACHINE’ , ‘FILE’);
// Адрес папки, в которой хранятся сведения о состоянии синхронизации.
// Если папки нет, создайте её с правами 755 от имени пользователя веб-сервера
define ( ‘STATE_DIR’ , ‘/var/lib/z-push/’);
define ( ‘IPC_PROVIDER’ , ‘IpcMemcachedProvider’);
define ( ‘LOGBACKEND’ , ‘filelog’);
// Вначале стоит логировать на уровне debug, когда всё будет работать, поменяйте на LOGLEVEL_INFO
define ( ‘LOGLEVEL’ , LOGLEVEL_DEBUG);
define ( ‘LOGAUTHFAIL’ , true);
define ( ‘LOGUSERLEVEL’ , LOGLEVEL_DEVICEID);
$specialLogUsers = array();
define ( ‘LOGFILEDIR’ , ‘/var/log/z-push/’);
define ( ‘LOGFILE’ , LOGFILEDIR . ‘z-push.log’);
define ( ‘LOGERRORFILE’ , LOGFILEDIR . ‘z-push-error.log’);
define ( ‘LOG_SYSLOG_HOST’ , false);
define ( ‘LOG_SYSLOG_PORT’ , 514);
define ( ‘LOG_SYSLOG_PROGRAM’ , ‘z-push’);
define ( ‘LOG_SYSLOG_FACILITY’ , LOG_LOCAL0);
// Установим по этому адресу файл доверенных корневых центров сертификации от Mozilla
define ( ‘CAINFO’ , ‘/usr/share/z-push/cacert.pem’);
define ( ‘PROVISIONING’ , true);
define ( ‘LOOSE_PROVISIONING’ , false);
define ( ‘PROVISIONING_POLICYFILE’ , ‘policies.ini’);
define ( ‘SYNC_CONFLICT_DEFAULT’ , SYNC_CONFLICT_OVERWRITE_PIM);
define ( ‘SYNC_FILTERTIME_MAX’ , SYNC_FILTERTYPE_ALL);
// Интервал проверки почты сервером (и доставки push-уведомлений):
define ( ‘PING_INTERVAL’ , 30);
define ( ‘FILEAS_ORDER’ , SYNC_FILEAS_LASTFIRST);
define ( ‘SYNC_MAX_ITEMS’ , 512);
define ( ‘UNSET_UNDEFINED_PROPERTIES’ , false);
define ( ‘SYNC_CONTACTS_MAXPICTURESIZE’ , 5242880);
define ( ‘ALLOW_WEBSERVICE_USERS_ACCESS’ , false);
define ( ‘USE_PARTIAL_FOLDERSYNC’ , false);
define ( ‘PING_LOWER_BOUND_LIFETIME’ , false);
define ( ‘PING_HIGHER_BOUND_LIFETIME’ , false);
define ( ‘SYNC_TIMEOUT_MEDIUM_DEVICETYPES’ , «SAMSUNGGTI»);
define ( ‘SYNC_TIMEOUT_LONG_DEVICETYPES’ , «iPod, iPad, iPhone, WP, WindowsOutlook»);
// Самое важное: тип синхронизации почты
define ( ‘BACKEND_PROVIDER’ , ‘BackendIMAP’);
// Максимальный размер сообщений (для отправки вложений)
define ( ‘MAX_EMBEDDED_SIZE’ , 31457280);
define ( ‘SEARCH_PROVIDER’ , »);
define ( ‘SEARCH_WAIT’ , 30);
define ( ‘SEARCH_MAXRESULTS’ , 30);
define ( ‘KOE_CAPABILITY_GAB’ , true);
define ( ‘KOE_CAPABILITY_RECEIVEFLAGS’ , true);
define ( ‘KOE_CAPABILITY_SENDFLAGS’ , true);
define ( ‘KOE_CAPABILITY_OOF’ , true);
define ( ‘KOE_CAPABILITY_OOFTIMES’ , true);
define ( ‘KOE_CAPABILITY_NOTES’ , true);
define ( ‘KOE_CAPABILITY_SHAREDFOLDER’ , true);
define ( ‘KOE_CAPABILITY_SENDAS’ , true);
define ( ‘KOE_GAB_STORE’ , ‘SYSTEM’);
define ( ‘KOE_GAB_FOLDERID’ , »);
define ( ‘KOE_GAB_NAME’ , ‘Z-Push-KOE-GAB’);
$additionalFolders = array(
);
Файл политик, применяемых к мобильным устройствам, – /etc/z-push/policies.ini – можно оставить как есть, отредактировав только параметр maxattsize, чтобы отправлять большие вложения (до 30 Mb):
maxattsize = ‘31457280’
Файл /etc/z-push/memcached.conf.php также оставляем как есть, если memcached у вас работает со стандартным портом 11211.
Теперь отредактируем настройки IMAP в файле /etc/z-push/imap.conf.php:
<?php
// IMAP-сервер Яндекса:
define ( ‘IMAP_SERVER’ , ‘imap.yandex.ru’);
define ( ‘IMAP_PORT’ , 993);
define ( ‘IMAP_OPTIONS’ , ‘/ssl/notls/norsh’);
define ( ‘IMAP_AUTOSEEN_ON_DELETE’ , false);
define ( ‘IMAP_FOLDER_CONFIGURED’ , true);
define ( ‘IMAP_FOLDER_PREFIX’ , »);
define ( ‘IMAP_FOLDER_PREFIX_IN_INBOX’ , false);
define ( ‘IMAP_FOLDER_INBOX’ , ‘INBOX’);
define ( ‘IMAP_FOLDER_SENT’ , ‘SENT’);
define ( ‘IMAP_FOLDER_DRAFT’ , ‘DRAFTS’);
define ( ‘IMAP_FOLDER_TRASH’ , ‘TRASH’);
define ( ‘IMAP_FOLDER_SPAM’ , ‘SPAM’);
define ( ‘IMAP_FOLDER_ARCHIVE’ , ‘ARCHIVE’);
define ( ‘IMAP_INLINE_FORWARD’ , true);
define ( ‘IMAP_EXCLUDED_FOLDERS’ , ‘Корзина|Outbox’);
// Поле, которое будет подставляться в «От:», см. пояснения ниже:
define ( ‘IMAP_DEFAULTFROM’ , ‘domain’);
// Настройки на случай, когда в поле «От:» подставляется значение из базы данных MySQL/MariaDB:
// define ( ‘IMAP_DEFAULTFROM’ , ‘sql’);
define ( ‘IMAP_FROM_SQL_DSN’ , ‘mysql:host=localhost;port=3306;dbname=zpush’);
define ( ‘IMAP_FROM_SQL_USER’ , ‘ZPush’);
define ( ‘IMAP_FROM_SQL_PASSWORD’ , ‘db_password‘);
define ( ‘IMAP_FROM_SQL_OPTIONS’ , serialize(array(PDO::ATTR_PERSISTENT => true)));
define ( ‘IMAP_FROM_SQL_QUERY’ , «select first_name, last_name, mail_address from users where mail_address = ‘#username'»);
define ( ‘IMAP_FROM_SQL_FIELDS’ , serialize(array( ‘first_name’ , ‘last_name’, ‘mail_address’)));
define ( ‘IMAP_FROM_SQL_FROM’ , ‘#first_name #last_name <#mail_address>’);
define ( ‘IMAP_FROM_SQL_FULLNAME’ , ‘#first_name #last_name’);
// Сервер LDAP настраивать не будем, оставим, как есть:
define ( ‘IMAP_FROM_LDAP_SERVER’ , ‘localhost’);
define ( ‘IMAP_FROM_LDAP_SERVER_PORT’ , ‘389’);
define ( ‘IMAP_FROM_LDAP_USER’ , ‘cn=zpush,ou=servers,dc=zpush,dc=org’);
define ( ‘IMAP_FROM_LDAP_PASSWORD’ , ‘password’);
define ( ‘IMAP_FROM_LDAP_BASE’ , ‘dc=zpush,dc=org’);
define ( ‘IMAP_FROM_LDAP_QUERY’ , ‘(mail=#[email protected]#domain)’);
define ( ‘IMAP_FROM_LDAP_FIELDS’ , serialize(array( ‘givenname’ , ‘sn’, ‘mail’)));
define ( ‘IMAP_FROM_LDAP_FROM’ , ‘#givenname #sn <#mail>’);
define ( ‘IMAP_FROM_LDAP_FULLNAME’ , ‘#givenname #sn’);
// Отправлять почту будем через SMTP-сервер Яндекса:
define ( ‘IMAP_SMTP_METHOD’ , ‘smtp’);
global $imap_smtp_params;
$imap_smtp_params = array();
$imap_smtp_params = array( ‘host’ => ‘ssl://smtp.yandex.com’, ‘port’ => ‘465’, ‘auth’ => true, ‘username’ => ‘imap_username’, ‘password’ => ‘imap_password’, ‘verify_peer’ => true, ‘verify_peer_name’ => true, ‘debug’ => true);
// Закомментированный пример конфигурации, когда используется SMTP-сервер SendGrid:
//$imap_smtp_params = array( ‘host’ => ‘ssl://smtp.sendgrid.net’, ‘port’ => ‘465’, ‘auth’ => true, ‘username’ => ‘apikey’, ‘password’ => ‘API-ключ‘, ‘verify_peer’ => true, ‘verify_peer_name’ => true, ‘allow_self_signed’ => true);
define ( ‘MAIL_MIMEPART_CRLF’ , «\r\n»);
define ( ‘SYSTEM_MIME_TYPES_MAPPING’ , ‘/etc/mime.types’);
define ( ‘IMAP_MEETING_USE_CALDAV’ , true);
Настройка ‘IMAP_DEFAULTFROM’ определяет, откуда сервер будет брать строку, подставляемую в поле «От:» исходящих сообщений. При нативном развёртывании сервера Exchange эта информация берётся из списка пользователей домена. В Z-Push можно выбирать между строкой, заполняемой пользователем в поле «Домен» настроек EAS на мобильном устройстве, либо из базы данных, либо из LDAP. В примере конфигурации я оставил закомментированным настройку, когда строка «От:» выбирается из базы данных. На мой взгляд, более гибким является вариант, когда пользователь может отредактировать эту строку самостоятельно. Например, если есть несколько ящиков, авторизованных в ПДД Яндекса или учётной записи пользователя (сбор почты с других ящиков), то можно временно поменять адрес отправителя на другой, или написание имени отправителя – с русского на англоязычное. Тем не менее, если здесь не будет указан действительный/авторизованный адрес, SMTP-сервер Яндекса заменит строку просто на адрес e-mail по умолчанию. Например, у меня обычно указано: Gregory A. Pozhvanov <[email protected]>, см. шестой скриншот ниже в секции Д5.
Напоследок отредактируем файл службы автоматического определения параметров EAS.
Он находится по адресу /etc/z-push/autodiscover.conf.php:
<?php
// Часовой пояс, не опять, а снова:
define ( ‘TIMEZONE’ , ‘Europe/Moscow’);
define ( ‘BASE_PATH’ , dirname($_SERVER[‘SCRIPT_FILENAME’]). ‘/’);
// Адрес сервиса Z-Push:
define ( ‘SERVERURL’ , ‘https://mail.yourdomain.com/Microsoft-Server-ActiveSync’);
define ( ‘USE_FULLEMAIL_FOR_LOGIN’ , true);
define ( ‘LOGBACKEND’ , ‘filelog’);
define ( ‘LOGFILEDIR’ , ‘/var/log/z-push/’);
define ( ‘LOGFILE’ , LOGFILEDIR . ‘autodiscover.log’);
define ( ‘LOGERRORFILE’ , LOGFILEDIR . ‘autodiscover-error.log’);
define ( ‘LOGLEVEL’ , LOGLEVEL_INFO);
define ( ‘LOGUSERLEVEL’ , LOGLEVEL);
$specialLogUsers = array();
define ( ‘LOG_SYSLOG_HOST’ , false);
define ( ‘LOG_SYSLOG_PORT’ , 514);
define ( ‘LOG_SYSLOG_PROGRAM’ , ‘z-push-autodiscover’);
define ( ‘LOG_SYSLOG_FACILITY’ , LOG_LOCAL0);
define ( ‘BACKEND_PROVIDER’ , ‘BackendIMAP’);
О том, зачем нужен Autodiscover и как это работает, читайте в документации Z-Push.
По неведомой мне причине отправка писем „из коробки“ не работала. Вообще. В результате долгого поиска я осознал, что мой сервер на DigitalOcean пытается связаться с SMTP-сервером Яндекса по протоколу IPv6, и это у него почему-то не получается.
Добавление строки в /etc/hosts решило эту проблему:
87.250.250.38 smtp.yandex.com
3. Настройка NGINX
В конфигурационный файл NGINX или (лучше) в файл /etc/nginx/sites-enabled/zpush добавляем секцию для нового сервера:
# Z-Push configuration #
#
server <
listen 443 ssl http2;
server_name mail.yourdomain.com autodiscover.yourdomain.com;
# SSL-сертификат и закрытый ключ:
ssl_certificate /homes/username/zpush.bundle.crt;
ssl_certificate_key /homes/username/zpush.key;
server_tokens off;
add_header Strict-Transport-Security «max-age=15768000; includeSubDomains: always;»;
root /usr/share/z-push;
index index.php;
client_max_body_size 128M;
location = /favicon.ico <
log_not_found off;
access_log off;
error_log off;
expires 30d;
add_header Pragma public;
add_header Cache-Control «max-age=2592000, public»;
>
location = /robots.txt <
deny all;
log_not_found off;
access_log off;
error_log off;
>
location
/(?!\.well-known/acme-challenge)\. <
deny all;
log_not_found off;
access_log off;
>
# Алиас для директории, в которую помещаются проверочные файлы Let′s Encrypt:
location /.well-known/acme-challenge <
alias /homes/username/verify;
allow all;
>
error_log /var/log/nginx/zpush-error.log;
access_log /var/log/nginx/zpush-access.log;
location / <
try_files $uri $uri/ index.php;
>
location /Microsoft-Server-ActiveSync <
rewrite ^(.*)$ /index.php;
>
location /Autodiscover/Autodiscover.xml <
rewrite ^(.*)$ /autodiscover/autodiscover.php;
>
location /AutoDiscover/AutoDiscover.xml <
rewrite ^(.*)$ /autodiscover/autodiscover.php;
>
location /autodiscover/autodiscover.xml <
rewrite ^(.*)$ /autodiscover/autodiscover.php;
>
location
* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ <
access_log off;
log_not_found off;
expires 30d;
add_header Pragma public, add_header Cache-Control «max-age=2592000, public»;
>
\.php$ <
include snippets/fastcgi-php.conf;
fastcgi_split_path_info ^(.+.php)(.+)$;
fastcgi_param HTTPS on;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php5.6-fpm.sock;
fastcgi_read_timeout 630;
fastcgi_keep_conn on;
fastcgi_pass_header Set-Cookie;
fastcgi_pass_header Cookie;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
>
>
# Z-Push END OF CONFIGURATION #
4. Тестирование конфигурации Z-Push
Когда всё настроено, проверьте конфигурацию NGINX:
sudo nginx -t
Если получено OK, перезапустите NGINX:
sudo systemctl reload nginx
и откройте страницу почтового интерфейса: https://mail.yourdomain.com. Если всё в порядке, то браузер выдаст диалоговое окно аутентификации. Введите имя пользователя и пароль учётной записи в ПДД Яндекса. Если данные введены правильно, то система авторизует пользователя на Яндексе и выдаст страницу, в которой написано, что Exchange Active Sync работает только с использованием метода POST:
Проверка работы Z-Push через браузер
Теперь проверьте, насколько правильно настроена автонастройка EAS, используя онлайн-инструмент Microsoft: testconnectivity.microsoft.com. В конце теста вы должны получить сообщение о том, что все или почти все тесты прошли успешно. Поскольку автонастройка может отзываться как по адресу основного домена (https://yourdomain.com/Autodiscover/Autodiscover.xml), так и с субдомена (https://autodiscover.yourdomain.com/Autodiscover/Autodiscover.xml), и достаточно хотя бы одного адреса, у меня тест выдаёт предупреждение, которое смело можно проигнорировать:
Тест настройки Autodiscover
5. Настройка почты EAS в iOS
Когда конфигурация сервера завершена, самое время подключить почту с поддержкой Push-уведомлений в „штатном“ приложении iOS – Почта (Mail). Push-уведомления не только оперативно сообщают о приходе новой почты, но и позволяют экономить заряд батареи, т.к. проверкой почты занимается сервер, и направляет обновление на телефон или планшет только тогда, когда это необходимо.
Открываем приложение Настройки, далее Почта > Учетные записи > Добавить, и выбираем тип учётной записи – Exchange. Далее вводим адрес e-mail, зарегистрированный в ПДД Яндекса, пароль и условное название учётной записи, удобное вам. Далее с помощью сервиса Autodiscover происходит автоматическая настройка учётной записи. Опять же, если всё настроено правильно, каждая строка будет отмечена галочкой, и телефон/планшет попросит отметить те службы, которые вы хотите синхронизировать. Оставляем выбранной только почту, и переходим к следующему экрану.
Добавление и настройка синхронизации учётной записи Exchange
Теперь в настройках учётной записи коснитесь секции настройки, и введите имя домена, как обсуждалось выше – эта строка будет подставляться в поле «От:» исходящих сообщений. Здесь же в дополнительных настройках можно сразу указать параметры электронной подписи и шифрования сообщений по протоколу S/MIME. Наконец, удобство учётной записи EAS в том, что Push-уведомления можно настраивать не только для папки „Входящие“, но и для любой другой папки в аккаунте.
Дополнительные настройки учётной записи Exchange
Осталось только активировать системные уведомления для новой учётной записи, и готово! Открывайте приложение Почта и смотрите, как загружается почта
Если не увлекаться глубиной синхронизации и оставить её на уровне последних двух недель или месяца, то мощности самого доступного виртуального сервера за $5 в месяц вполне достаточно и для работы сайта, и для работы с почтой нескольких пользователей.
Удачной настройки почты!
Как мигрировать с почты Gmail на Яндекс.Почту и сохранить все письма и контакты?
Прежде всего, вам нужно завести почтовый адрес на Яндекс.Почте, если вы раньше этого еще не сделали. Это также даст вам возможность к облачному хранилищу и другим сервисам Яндекса.
1. Настройте переадресацию писем из Gmail на Яндекс.Почту
Это действие позволяет перенаправлять на новый почтовый адрес как новые письма, так и перенести старые, хранящиеся на Gmail.
- Откройте версию Яндекс.Почты для ПК, нажмите на шестеренку настроек в правом верхнем углу экрана и выберите опцию «Сбор почты с других ящиков».
- Теперь залогиньтесь в почте Gmail, предоставив сервису Яндекс.Почта доступ вашим письмам. Это можно сделать при помощи ввода логина и пароля, либо нажать на красную кнопку Gmail, чтобы авторизоваться.
- Письмам, перенаправленным с Gmail и попадающим в Яндекс.Почту, можно присвоить метку и назначить цвет, чтобы отличать их от сообщений, приходящих напрямую в Яндекс.Почту.
- После этого Яндекс.Почта запустит процесс миграции ваших существующих писем из Gmail на свою платформу, начиная от новых к старым. Это может занять несколько дней, все будет зависеть от количества писем в вашем аккаунте Gmail.
Когда процесс завершится, то вам останется только их отсортировать.
2. Синхронизируйте контакты на Gmail с Яндекс.Почта
Чтобы сервис Яндекс.Почта начал распознавать ваши контакты из Gmail, их нужно сохранить в специальный файл формата vCard, а уже потом из него добавить в Яндекс/Gjxne
- Откройте сервис «Google Контакты» на ПК и выберите в левом меню опцию «Экспортировать». Система предложить перенести только предварительно выбранные контакты, все сохраненные контакты или контакты тех, с кем вы часто общаетесь (те, с кем вы переписывались в почте, но не добавили в контакты).
- Отметьте нужный пункт и формат vCard, затем сохраните файл на ПК в формате «*. VCF».
- Чтобы перенести данные из сохранённого файла, откройте Яндекс.Почта, нажмите на шестеренку настроек справа и выберите пункт «Контакты».
- В открывшемся окне нажмите «Загрузить контакты из файла», затем нажмите «Выбрать файл» и выберите на ПК ранее сохраненный ранее файл vCard с контактами.
Чтобы проверить результат работы по переносу контактов, в верхнем меню сервисов нажмите «Еще» и выберите «Контакты». Откроется список всех адресатов, которые ранее были в вашей почте Gmail.
Теперь в поле «Кому» при вводе первых символов имени или почты адресата Яндекс.Почта будет предлагать выбрать контакт из сохраненных.
Готово! Перенос ваших писем и контактов на отечественный почтовый сервис состоялся.