Сборщик почты (делаем простые вещи сложно). Почтовые хитрости
Разумеется, всё должно быть распараллелено. Тут на сцену выходит моя любимая библиотека TPL DataFlow .
Забирать почту будем по POP3. Все «модные штучки» IMAP в данной задаче излишни - надо как можно быстрее и проще забрать исходник письма и удалить его на сервера. POP3 тут хватит за глаза. Используем OpenPop.NET .
В качестве факультатива прикрутим мониторинг в Zabbix . (Мы же собрались работать 24/7 и выдавать хваленую скорость - нужно следить за этим).
Поехали
Создаем обычное консольное приложение. Открываем NuGet консоль и ставим все нужные пакеты:Install-Package Nlog
Install-Package OpenPop.NET
Install-Package TopShelf
Install-Package Microsoft.TPL.DataFlow
Переходим в папку проекта, создаем App.Debug.config и App.Release.config. Выгружаем проект из студии, открываем его код (Здесь и далее TopCrawler.csproj). В секцию с конфигом добавляем:
Конфигурации
А ниже собственный таргет для MSBuild:
Transform target
Лично я привык именно таким способом - по старинке - добавлять трансформацию конфигов для разделения сред.
Для удобства предлагаю strongly-type конфиги. Отдельный класс будет читать конфигурацию. (О теоретических аспектах такого решения можно пообщаться в комментах). Конфиги, логи, мониторинг - отличный повод реализовать паттерн Singleton.
Создаем в проекте одноименную папку (должен же быть порядок). Внутри создаем 3 класса - Config, Logger, Zabbix. Наш логгер:
Logger
static class Logger
{
public static NLog.Logger Log { get; private set; }
public static NLog.Logger Archive { get; private set; }
static Logger()
{
Log = LogManager.GetLogger("Global");
Archive = LogManager.GetLogger("Archivator");
}
}
Мониторинг с помощью Zabbix заслуживает отдельного поста, поэтому я просто оставлю тут класс, реализующий агента:
Zabbix
namespace TopCrawler.Singleton
{
///
Конфиги… Пора уже делать хоть что-то интересное. Во-первых, в конфигах будем хранить ящики, которые мы опрашиваем. Во вторых настройки DataFlow. Предлагаю так:
Конфиги
Итак, хост и порт куда конектится, юзер и пароль - тут всё понятно. Дальше тип ящика. Допустим, служба используется маркетингом (как и другими отделами). У них есть ящики, куда сваливаются автоответы на рассылки, а также отчеты о спаме FBL . Сам ящик уже категоризирует письмо, поэтому для таких ситуаций сразу задаем тип ящика. С настройками DataFlow будет понятно дальше, когда начнем создавать объекты. Тут у нас будут собственные секции в конфиге. Мануалов куча как это сделать, поэтому просто покажу результат:
Определяем типы
#region --- Types ---
static class MailboxType
{
public const string Bo = "bo";
public const string Crm = "crm";
public const string Fbl = "fbl";
public const string Bounce = "bounce";
}
class MailboxInfo
{
public string Type { get; set; }
public string Hostname { get; set; }
public string User { get; set; }
public string Password { get; set; }
public int Port { get; set; }
}
class DataBlockOptions
{
public int Maxdop { get; set; }
public int BoundedCapacity { get; set; }
public DataBlockOptions()
{
Maxdop = 1;
BoundedCapacity = 1;
}
}
#endregion
Создаем секции
///
///
Полную реализацию конфига писать не буду, подразумевается, что в процессе разработки туда будут добавляться нужные нам параметры.
Наши кастомные настройки прочитаем так:
Читаем
public List
Как-то очень затянуто получается, а мы даже не дошли до самого интересного.
Опустим пока обвязку из TopShelf, счетчики производительности, общение с БД и перейдем к делу! Создаем класс Crawler - ядро. Для начала читаем почту:
Private volatile bool _stopPipeline;
...
public void Start()
{
do
{
var getMailsTasks = _config.CredentialsList.Select(credentials => Task.Run(() => GetMails(credentials))).ToList();
foreach (var task in getMailsTasks)
task.Wait();
Thread.Sleep(2000);
} while (!_stopPipeline);
//Stop pipeline - wait for completion of all endpoints
//Тут будет остановка DataFlow конвейера
if (_stopPipeline)
Logger.Log.Warn("Pipeline has been stopped by user");
}
Вот тут лень взяла свое и я решил не заморачиваться - если ящиков порядка 20-30 можно под каждый запустить таск и не париться о количестве потоков. (Разрешаю закидать помидорами.)
Переходим к самому чтению:
Private void GetMails(MailboxInfo info)
{
try
{
using (var client = new Pop3Client())
{
Сразу посчитаем тайминги доступа к ящику - пригодится для диагностики сети и загруженности сервера.
//Get Zabbix metrics
var stopwatch = new Stopwatch();
stopwatch.Start();
//Get mail count
client.Connect(info.Hostname, info.Port, false);
client.Authenticate(info.User, info.Password);
stopwatch.Stop();
Отправляем данные в Zabbix. Всё просто - указываем имя хоста (как оно заведено в Zabbix), ключ (опять таки строго, как в Zabbix) и строковое значение.
//Send it to Zabbix
Zabbix.Sender.SendData(new ZabbixItem { Host = Config.HostKey, Key = info.Type + Config.TimingKey, Value = stopwatch.ElapsedMilliseconds.ToString() });
Logger.Log.Debug("Send [{0}] timing to Zabbix: connected to "{1}" as "{2}", timing {3}ms", info.Type, info.Hostname, info.User, stopwatch.ElapsedMilliseconds);
var count = client.GetMessageCount();
if (count == 0)
return;
Logger.Log.Debug("We"ve got new {0} messages in "{1}"", count, info.User);
//Send messages to sorting block
for (var i = 0; i < count; i++)
{
try
{
var mailInfo = new MessageInfo
{
IsSpam = false,
Mail = client.GetMessage(i + 1),
Type = MessageType.UNKNOWN,
Subtype = null,
Recipient = null,
Mailbox = info
};
Logger.Log.Debug("Download message from "{0}". Size: {1}b", info.User, mailInfo.Mail.RawMessage.Length);
DataFlow pipeline будет создана при создании класса Crawler. Считаем, что наш первый этап - отсортировать письмо.
While (!_sortMailDataBlock.Post(mailInfo))
Thread.Sleep(500);
Видите, как просто - сам конвейер один. Все таски, читающие почту, кидают туда сообщения по одному. Если блок занят, Post вернет false и мы просто подождем пока он не освободится. Текущий потом в это время продолжает работать. Вот это я называю параллелизм без забот.
Сообщение ушло на конвейер, теперь его можно со спокойной душой сохранить в RAW архив (да-да! всё, что читаем - сохраняем в файловый архив. Служба поддержки нам потом скажет спасибо).
Настроим, например, ротацию архива:
NLog.config
Потом на него можно натравить logStash , но это уже другая история…
//Save every mail to archive
Logger.Log.Debug("Archive message");
Logger.Archive.Info(Functions.MessageToString(mailInfo.Mail));
}
catch (Exception ex)
{
Logger.Log.Error("Parse email error: {0}", ex.Message);
Functions.ErrorsCounters.Increment();
//Archive mail anyway
Logger.Log.Debug("Archive message");
Logger.Archive.Info(Encoding.Default.GetString(client.GetMessageAsBytes(i + 1)));
}
if (_config.DeleteMail)
client.DeleteMessage(i + 1);
if (_stopPipeline)
break;
}
Logger.Log.Debug("Done with "{0}"", info.User);
}
}
catch (Exception ex)
{
Logger.Log.Error("General error - type: {0}, message: {1}", ex, ex.Message);
Functions.ErrorsCounters.Increment();
}
}
Здесь мы использовали статические счетчики ошибок (в разрезе типов ящиков), где ErrorsCounters - это:
Public static Dictionary
А сами счетчики можно сделать так:
Counter.cs
class Counter
{
private long _counter;
public Counter()
{
_counter = 0;
}
public void Increment()
{
Interlocked.Increment(ref _counter);
}
public long Read()
{
return _counter;
}
public long Refresh()
{
return Interlocked.Exchange(ref _counter, 0);
}
public void Add(long value)
{
Interlocked.Add(ref _counter, value);
}
public void Set(long value)
{
Interlocked.Exchange(ref _counter, value);
}
}
Перейдем к созданию конвейера. Допустим, у нас есть ящики, куда сыпятся автоответы. Такие письма надо распарсить (что за автоответ, от кого, по какой рассылке и т.д.) и сложить результат в хранилище (БД). Допустим, есть ящики, куда падают FBL отчеты. Такие письма сразу складываем в базу. Все прочие письма считаем «полезными» - их надо проверить на спам и отправить во внешнюю систему, например, CRM.
Как вы уже поняли, данный пример в основном рассматривает применение сборщика для задач маркетинга - сбор статистики по доставке почты, информация о спаме.
Итак, мы определились с рабочим потоком. Объявляем необходимые блоки в классе Crawler:
Class MessageInfo
{
public bool IsSpam { get; set; }
public Message Mail { get; set; }
public string Subtype { get; set; }
public string Recipient { get; set; }
public MessageType Type { get; set; }
public MailboxInfo Mailbox { get; set; }
}
class Crawler
{
//Pipeline
private TransformBlock
Создаем метод инициализации и создаем блоки конвейера (для инициализации блоков используем наши замечательные секции из конфигов):
Public void Init()
{
//*** Create pipeline ***
//Create TransformBlock to get message type
var blockOptions = _config.GetDataBlockOptions("_sortMailDataBlock");
_sortMailDataBlock = new TransformBlock
Собираем конвейер в соответствии с нашей схемой:
//*** Build pipeline ***
_sortMailDataBlock.LinkTo(_spamFilterDataBlock, info => info.Type == MessageType.GENERAL);
_sortMailDataBlock.LinkTo(_addToFblDataBlock, info => info.Type == MessageType.FBL);
_sortMailDataBlock.LinkTo(_checkBounceDataBlock, info => info.Type == MessageType.BOUNCE);
_sortMailDataBlock.LinkTo(DataflowBlock.NullTarget
Как видим, всё предельно просто - связываем блок со следующим (с возможностью задания условия связи). Все блоки исполняются параллельно. Каждый блок имеет степень параллелизма и емкость (с помощью емкости можно регулировать очередь перед блоком, то есть блок сообщение принял, но еще не обрабатывает). Таким образом, можно задавать высокую степень параллелизма для «сложных» и долгих операций, как, например, парсинг содержимого письма.
Не буду описывать матчасть DataFlow, лучше всё прочесть в первоисточнике TPL DataFlow .
SortMailDataBlock.Completion.ContinueWith(t =>
{
if (t.IsFaulted) ((IDataflowBlock)_spamFilterDataBlock).Fault(t.Exception);
else _spamFilterDataBlock.Complete();
});
_sortMailDataBlock.Completion.ContinueWith(t =>
{
if (t.IsFaulted) ((IDataflowBlock)_addToFblDataBlock).Fault(t.Exception);
else _addToFblDataBlock.Complete();
});
_sortMailDataBlock.Completion.ContinueWith(t =>
{
if (t.IsFaulted) ((IDataflowBlock)_checkBounceDataBlock).Fault(t.Exception);
else _checkBounceDataBlock.Complete();
});
_spamFilterDataBlock.Completion.ContinueWith(t =>
{
if (t.IsFaulted) ((IDataflowBlock)_addToCrmDataBlock).Fault(t.Exception);
else _addToCrmDataBlock.Complete();
});
_checkBounceDataBlock.Completion.ContinueWith(t =>
{
if (t.IsFaulted) ((IDataflowBlock)_identifyDataBlock).Fault(t.Exception);
else _identifyDataBlock.Complete();
});
_identifyDataBlock.Completion.ContinueWith(t =>
{
if (t.IsFaulted) ((IDataflowBlock)_addToBounceDataBlock).Fault(t.Exception);
else _addToBounceDataBlock.Complete();
});
}
Всё, на самом деле конвейер уже работает, можно постить в него сообщения. Осталось только остановить его дополнив наш метод Start:
Start
public void Start()
{
do
{
var getMailsTasks = _config.CredentialsList.Select(credentials => Task.Run(() => GetMails(credentials))).ToList();
foreach (var task in getMailsTasks)
task.Wait();
Thread.Sleep(2000);
} while (!_stopPipeline);
//Stop pipeline - wait for completion of all endpoints
_sortMailDataBlock.Complete();
_addToCrmDataBlock.Completion.Wait();
_addToFblDataBlock.Completion.Wait();
_addToBounceDataBlock.Completion.Wait();
if (_stopPipeline)
Logger.Log.Warn("Pipeline has been stopped by user");
}
Переходим к делегатам.
Сортировка… Ну, допустим у нас всё просто (усложнить то всегда успеем):
Private MessageInfo SortMail(MessageInfo mail)
{
switch (mail.Mailbox.Type)
{
case MailboxType.Crm:
mail.Type = MessageType.GENERAL;
break;
case MailboxType.Bounce:
mail.Type = MessageType.BOUNCE;
break;
case MailboxType.Fbl:
mail.Type = MessageType.FBL;
break;
}
return mail;
}
Спам фильтр. Это на домашнюю работу - используйте SpamAssassin .
Вот вам делегат:
Private MessageInfo FilterSpam(MessageInfo mail)
{
//TODO: Add SpamAssassin logic
return mail;
}
И классы для работы с API SpamAssassin (ссылка на проект).
А мы переходим к парсингу писем. Парсим мы автоответы. Тут вступает в дело MEF.
Создаем проект (dll) с интерфейсами для наших плагинов (Назовем Interfaces).
Добавляем интерфейс:
Public interface ICondition
{
string Check(Message mimeMessage);
}
public interface IConditionMetadata
{
Type Type { get; }
}
И… всё. Наш TopCrawler зависит от этого проекта и проект с плагинами тоже будет использовать его.
Создаем новый проект (тоже dll), назовем Conditions.
Добавим типы автоответов:
#region --- Types ---
static class BounceType
{
public const string Full = "BounceTypeFull";
public const string Timeout = "BounceTypeTimeout";
public const string Refused = "BounceTypeRefused";
public const string NotFound = "BounceTypeNotFound";
public const string Inactive = "BounceTypeInactive";
public const string OutOfOffice = "BounceTypeOutOfOffice";
public const string HostNotFound = "BounceTypeHostNotFound";
public const string NotAuthorized = "BounceTypeNotAuthorized";
public const string ManyConnections = "BounceTypeManyConnections";
}
#endregion
И классы, реализующие наш интерфейс:
Public class ConditionNotFound1: ICondition
{
public string Check(Message mimeMessage)
{
if (!mimeMessage.MessagePart.IsMultiPart)
return null;
const string pattern = "Diagnostic-Code:.+smtp.+550";
var regexp = new Regex(pattern, RegexOptions.IgnoreCase);
return mimeMessage.MessagePart.MessageParts.Any(part => part.ContentType.MediaType == "message/delivery-status" && regexp.IsMatch(part.GetBodyAsText())) ? BounceType.NotFound: null;
}
}
...
public class ConditionTimeout2: ICondition
{
return BounceType.Timeout;
}
...
Как вы заметилиб всё дело в атрибутах. С помощью них плагины и будут загружены.
Возвращаемся к нашему проекту и загружаем плагины:
Class Crawler
{
...
//Plugins
public IEnumerable
LoadPlugins дергаем в конструкторе нашего класса. Объяснять подробно про механизм загрузки не буду - гугл справится лучше.
Переходим к нашему делегату проверки типа Bounce. Условия будут применяться по очереди, пока не сработает первое - исключающий метод:
Private MessageInfo BounceTypeCheck(MessageInfo mailInfo)
{
try
{
foreach (var condition in BounceTypeConditions)
{
var res = condition.Value.Check(mailInfo.Mail);
if (res == null)
continue;
mailInfo.Subtype = res;
Logger.Log.Debug("Bounce type condition [{0}] triggered for message [{1}]", condition.Metadata.Type, mailInfo.Mail.Headers.MessageId);
break;
}
}
catch (Exception ex)
{
Logger.Log.Error("Failed to determine bounce type for message "{0}": {1}", mailInfo.Mail.Headers.MessageId, ex.Message);
Logger.ErrorsCounters.Increment();
}
return mailInfo;
}
Таким образомб если появляется новая логикаб достаточно просто добавить в проект с плагинами новый класс, реализующий наш интерфейс и - вуаля! Пример второго плагина по определению отправителя письма прикладывать не буду - итак уже длинный пост (Автоответ сгенерировал сам сервер, поэтому отправителя тоже надо распарсить из заголовков письма)
.
С записью результатов в БД тоже ничего необычного. Например, так:
Private void AddToBounce(MessageInfo mail)
{
try
{
MailWH.BounceAdd(mail);
Functions.ProcessedCounters.Increment();
Functions.Log.Debug("Send Bounce to MailWH");
}
catch (Exception ex)
{
Functions.Log.Error("Error saving Bounce message "{0}" to MailWH: {1}", mail.Mail.Headers.MessageId, ex.Message);
Functions.ErrorsCounters.Increment();
}
}
BounceAdd
public static long BounceAdd(MessageInfo message)
{
using (var conn = new SqlConnection(ConnectionString))
using (var cmd = new SqlDataAdapter("BounceAdd", conn))
{
var body = message.Mail.FindFirstPlainTextVersion() == null
? message.Mail.FindFirstHtmlVersion().GetBodyAsText()
: message.Mail.FindFirstPlainTextVersion().GetBodyAsText();
var outId = new SqlParameter("@ID", SqlDbType.BigInt)
{
Direction = ParameterDirection.Output
};
cmd.SelectCommand.CommandType = CommandType.StoredProcedure;
cmd.SelectCommand.Parameters.Add(new SqlParameter("@RawMessage", message.Mail.RawMessage));
cmd.SelectCommand.Parameters.Add(new SqlParameter("@Message", body));
cmd.SelectCommand.Parameters.Add(new SqlParameter("@Subject", message.Mail.Headers.Subject ?? ""));
cmd.SelectCommand.Parameters.Add(new SqlParameter("@MessageID", message.Mail.Headers.MessageId ?? ""));
cmd.SelectCommand.Parameters.Add(new SqlParameter("@AddressTo", message.Mail.Headers.To.Address ?? ""));
cmd.SelectCommand.Parameters.Add(new SqlParameter("@AddressFrom", message.Mail.Headers.From.Address ?? ""));
cmd.SelectCommand.Parameters.Add(new SqlParameter("@DateRecieved", DateTime.Now));
cmd.SelectCommand.Parameters.Add(new SqlParameter("@BounceTypeSysName", (object)message.Subtype ?? DBNull.Value));
cmd.SelectCommand.Parameters.Add(new SqlParameter("@SourceFrom", (object)message.Recipient ?? DBNull.Value));
// TODO: Add ListId support
cmd.SelectCommand.Parameters.Add(new SqlParameter("@ListId", DBNull.Value));
cmd.SelectCommand.Parameters.Add(outId);
conn.Open();
cmd.SelectCommand.ExecuteNonQuery();
return outId.Value as long? ?? 0;
}
}
Простите, что не успел показать TopShelf - пост и так уже слишком раздулся.
Выводы
В этом уроке мы узнали, что задача сбора почты может оказаться не такой простой. Разработанное ядро позволяет быстро добавлять новые шаги процесса - DataFlow-блоки, не затрагивая существующую логику. Подсистема плагинов позволяет быстро наращивать скриптоподобную логику парсинга, а сам DataFlow распараллеливает все вычисления (причем мы имеем возможность гибко настраивать многопоточность под конкретную машину). TopShelf дает нам возможность запускать сервис как в режиме службы, так и в консольном режиме для облегчения отладки.Фух… Если будет интересно, дальше расскажу, как поставить это на рельсы Continious Integration, настроить автобилды и выпуск релиза через VS Release Management .
Теги: Добавить метки
Если автоматически настроить соединение сборщика с сервером невозможно
Первый сбор почты произойдет в течение нескольких минут после того, как вы настроите сборщик. Сборщик обращается к другому почтовому серверу от нескольких раз в час до раза в несколько дней. Вручную установить или изменить время сбора нельзя. Оно зависит от используемого протокола (POP3 или IMAP), а также от особенностей работы сервера, с которого собирается почта. Именно поэтому письма могут приходить с задержкой.
Собрать почту с другого ящика на Яндексе
Собирать новые письма
Если вы хотите собирать почту с другого вашего ящика на Яндексе, вы можете настроить в нем правило пересылки . После подтверждения правила все новые письма будут перенаправляться в ваш текущий ящик.
Забрать старую почту
Чтобы собрать старые письма с другого ящика на Яндексе:
Выбрать папку для сбора писем
- Откройте страницу настроек сбора почты .
- Нажмите ссылку Удалить .
- Подтвердите удаление.
- Создайте новый сборщик с использованием протокола POP3.
После этого в настройках появится возможность выбрать папку для сбора писем.
Отредактировать настройки сборщика
Чтобы отключить сборщик, перейдите на страницу Сбор почты и нажмите ссылку выкл .
Если сборщик больше не нужен, нажмите на название сборщика, а затем на ссылку Удалить .
Написать письмо от имени подключенного ящика
Если вы хотите, чтобы письмо для получателя пришло с вашего адреса электронной почты на другом сервисе (например, Gmail или Mail.Ru), добавьте этот адрес на странице Адреса электронной почты и подтвердите доступ к нему. После подтверждения вы сможете выбрать в поле От кого не только алиас вашего адреса на Яндексе , но и адрес почты на другом сервисе.
Внимание. Если вы добавляете адрес ящика на другом почтовом сервисе, настройте сбор писем с него в ящик на Яндексе. Без настроенного сборщика отправлять письма с такого адреса не получится. При настройке сборщика вместо логина укажите адрес полностью, например [email protected] .
Если даже при корректно настроенном сборщике у вас не получается отправлять письма с адреса на другом почтовом сервисе, это значит, что правила безопасности этого сервиса запрещают отправлять письма через другие почтовые сервисы, в том числе и через Яндекс.Почту.
Что можно делать с собранными письмами
С собранными письмами можно делать все то же самое, что и с другими письмами в ящике, но есть особенности:
Удаление писем
Если удалить собранное письмо, оно удалится только из того ящика, куда было собрано. В исходном ящике письмо останется.
Правила обработки писем
Правила обработки работают только для писем, собранных в папку Входящие . Если письмо собрано в другую папку, правило для него не сработает.
Черный список
Черный список не работает для собранных с другого вашего ящика писем. Чтобы заблокировать такие письма, перейдите в почтовый ящик, с которого собираются письма, и в нем настройте черный список.
Не работает сбор писем
Это пошаговое руководство поможет вам решить проблемы, связанные с работой сборщика писем. Прежде чем приступить, откройте Яндекс.Почту в новой вкладке , чтобы выполнять рекомендации.
Выберите проблему:
Уточните, сборщик раньше собирал письма?
- Отключите сборщик почты: перейдите на страницу Сбор почты и нажмите ссылку выкл .
- Подождите 2-3 часа.
- Включите сборщик обратно.
Смените пароль в почтовом ящике, с которого собираются письма. После\\n этого подождите 2-3 часа - столько времени требуется, чтобы новый пароль\\n точно заработал.\\n
- \\n
- Перейдите в настройки сбора почты . \\n
- Нажмите на название сборщика в списке подключенных ящиков, а затем\\n нажмите ссылку Настроить . \\n
- Нажмите ссылку Настройка соединения с\\n сервером . \\n
- В Параметрах соединения введите новый\\n пароль. \\n
- Нажмите кнопку Сохранить изменения . \\n
- \\n
- На странице Безопасность и вход установите переключатель\\n Ненадежные приложения в положение Ненадежные\\n приложения разрешены . \\n
- Аккаунты Google . \\n
- создайте пароль приложения для сборщика\\n писем. \\n
Подключите сборщик почты заново, уже с новым паролем:
- \\n
- Перейдите в настройки сбора почты . \\n
- Нажмите на название сборщика в списке подключенных ящиков, а затем нажмите ссылку\\n Настроить . \\n
- Нажмите ссылку . \\n
- В Параметрах соединения введите новый пароль. \\n
- Нажмите кнопку Сохранить изменения . \\n
Проверьте, что в настройках вашего почтового ящика на Яндексе включен доступ\\\\n по протоколам POP3 или IMAP:
\\\\n \\\\n
Убедитесь, что в настройках почтового ящика, с которого собираются письма,\\\\n активирован доступ по протоколам POP3 или IMAP.
\\\\n \\\\n \\\\n
Rambler
\\\\n \\\\n \\\\n \\\\n
Gmail
- \\\\n
- Пересылки и\\\\n POP/IMAP . \\\\n
- В блоке Доступ по протоколу POP (пункт\\\\n Состояние ) установите переключатель в положение\\\\n Включить POP для всех писем (даже для тех, которые уже\\\\n загружены) . \\\\n
- В блоке Доступ по протоколу IMAP (пункт\\\\n Состояние ) установите переключатель в положение\\\\n Включить IMAP . \\\\n
- Нажмите кнопку Сохранить изменения . \\\\n
\\\\n \\\\n \\\\n \\\\n
Mail.ru
В почтовом сервисе Mail.ru доступ к протоколам IMAP и POP3 активирован по\\\\n умолчанию.
\\\\n \\\\n \\\\n \\\\n
Outlook.com (hotmail.com)
Почтовый сервис Outlook.com может передавать письма только по протоколу POP. Чтобы\\\\n активировать доступ по протоколу POP:
\\\\n \\\\n \\\\n \\\\n
Yahoo
Почтовый сервис Yahoo может передавать письма только по протоколу IMAP. Этот протокол\\\\n включен по умолчанию.
\\\\n \\\\n \\\\n \\\\n\\\\n
Если вашего почтового сервиса нет в списке, обратитесь за информацией в службу\\\\n поддержки этого сервиса.
Возможно, возникли проблемы на том почтовом сервисе, с\\\\\\\\n ящика на котором собираются письма. Чтобы решить проблему,\\\\\\\\n настройте пересылку с того почтового ящика, с которого\\\\\\\\n собираются письма. Перед настройкой пересылки отключите\\\\\\\\n сборщик на Яндексе - иначе письма будут приходить в\\\\\\\\n двойном экземпляре.\\\\\\\\n
Чтобы узнать, как настроить пересылку писем с другого\\\\\\\\n почтового ящика в ящик на Яндексе, обратитесь к разделу\\\\\\\\n помощи другого почтового сервиса.
\\\\\\\\n "}]}}\\\\">
Возможно, возникли проблемы на том почтовом сервисе, с\\\\n ящика на котором собираются письма. Чтобы решить проблему,\\\\n настройте пересылку с того почтового ящика, с которого\\\\n собираются письма. Перед настройкой пересылки отключите\\\\n сборщик на Яндексе - иначе письма будут приходить в\\\\n двойном экземпляре.
- \\n \\n \\n \\n
- Перейдите в настройки ящика Gmail, а затем на вкладку Пересылки и\\n POP/IMAP . \\n
- В блоке Доступ по протоколу POP . \\n
- В блоке Доступ по протоколу IMAP \\n
- Нажмите кнопку Сохранить изменения . \\n
\\n \\n \\n
Rambler
\\n \\n \\n \\n
Gmail
- \\n
\\n \\n \\n \\n
Mail.ru
\\n \\n \\n \\n
Outlook.com (hotmail.com)
\\n \\n \\n \\n
Yahoo
\\n \\n \\n \\n\\n
Чтобы узнать, как настроить пересылку писем с другого\\\\n почтового ящика в ящик на Яндексе, обратитесь к разделу\\\\n помощи другого почтового сервиса.
\\\\n "}]}}\\">
\\n
\\n\\n "}]}}\">
Смените пароль в почтовом ящике, с которого собираются письма. После этого подождите 2-3 часа - столько времени требуется, чтобы новый пароль точно заработал.
Подключите сборщик почты заново, уже с новым паролем:
- Перейдите в настройки сбора почты .
- Нажмите ссылку Настройка соединения с сервером .
- В Параметрах соединения введите новый пароль.
- Нажмите кнопку Сохранить изменения .
Если вы настроили сбор писем с ящика на Gmail:
- На странице Безопасность и вход установите переключатель Ненадежные приложения в положение Ненадежные приложения разрешены .
- Предоставьте доступ сборщику на странице Аккаунты Google .
- Если вы используете двухэтапную аутентификацию для входа в аккаунт Google, создайте пароль приложения для сборщика писем.
Подключите сборщик почты заново, уже с новым паролем:
- Перейдите в настройки сбора почты .
- Нажмите на название сборщика в списке подключенных ящиков, а затем нажмите ссылку Настроить .
- Нажмите ссылку Настройка соединения с сервером .
- В Параметрах соединения введите новый пароль.
- Нажмите кнопку Сохранить изменения .
Проверьте, что в настройках вашего почтового ящика на Яндексе включен доступ\\n по протоколам POP3 или IMAP:
\\n \\nУбедитесь, что в настройках почтового ящика, с которого собираются письма,\\n активирован доступ по протоколам POP3 или IMAP.
\\n \\n \\n
Rambler
\\n \\n \\n \\n
Gmail
- \\n
- Перейдите в настройки ящика Gmail, а затем на вкладку Пересылки и\\n POP/IMAP . \\n
- В блоке Доступ по протоколу POP (пункт\\n Состояние ) установите переключатель в положение\\n Включить POP для всех писем (даже для тех, которые уже\\n загружены) . \\n
- В блоке Доступ по протоколу IMAP (пункт\\n Состояние ) установите переключатель в положение\\n Включить IMAP . \\n
- Нажмите кнопку Сохранить изменения . \\n
\\n \\n \\n \\n
Mail.ru
В почтовом сервисе Mail.ru доступ к протоколам IMAP и POP3 активирован по\\n умолчанию.
\\n \\n \\n \\n
Outlook.com (hotmail.com)
Почтовый сервис Outlook.com может передавать письма только по протоколу POP. Чтобы\\n активировать доступ по протоколу POP:
\\n \\n \\n \\n
Yahoo
Почтовый сервис Yahoo может передавать письма только по протоколу IMAP. Этот протокол\\n включен по умолчанию.
\\n \\n \\n \\n\\n
Если вашего почтового сервиса нет в списке, обратитесь за информацией в службу\\n поддержки этого сервиса.
Возможно, возникли проблемы на том почтовом сервисе, с\\\\n ящика на котором собираются письма. Чтобы решить проблему,\\\\n настройте пересылку с того почтового ящика, с которого\\\\n собираются письма. Перед настройкой пересылки отключите\\\\n сборщик на Яндексе - иначе письма будут приходить в\\\\n двойном экземпляре.\\\\n
Чтобы узнать, как настроить пересылку писем с другого\\\\n почтового ящика в ящик на Яндексе, обратитесь к разделу\\\\n помощи другого почтового сервиса.
\\\\n "}]}}\\">
Возможно, возникли проблемы на том почтовом сервисе, с\\n ящика на котором собираются письма. Чтобы решить проблему,\\n настройте пересылку с того почтового ящика, с которого\\n собираются письма. Перед настройкой пересылки отключите\\n сборщик на Яндексе - иначе письма будут приходить в\\n двойном экземпляре.
Чтобы узнать, как настроить пересылку писем с другого\\n почтового ящика в ящик на Яндексе, обратитесь к разделу\\n помощи другого почтового сервиса.
\\n \\n "}]}}\">
- Перейдите в настройки ящика Gmail, а затем на вкладку Пересылки и POP/IMAP .
- В блоке Доступ по протоколу POP .
- В блоке Доступ по протоколу IMAP
- Нажмите кнопку Сохранить изменения .
Rambler
Gmail
Mail.ru
Outlook.com (hotmail.com)
Yahoo
Возможно, возникли проблемы на том почтовом сервисе, с\\n ящика на котором собираются письма. Чтобы решить проблему,\\n настройте пересылку с того почтового ящика, с которого\\n собираются письма. Перед настройкой пересылки отключите\\n сборщик на Яндексе - иначе письма будут приходить в\\n двойном экземпляре.\\n
Чтобы узнать, как настроить пересылку писем с другого\\n почтового ящика в ящик на Яндексе, обратитесь к разделу\\n помощи другого почтового сервиса.
\\n "}]}}\">
Возможно, возникли проблемы на том почтовом сервисе, с ящика на котором собираются письма. Чтобы решить проблему, настройте пересылку с того почтового ящика, с которого собираются письма. Перед настройкой пересылки отключите сборщик на Яндексе - иначе письма будут приходить в двойном экземпляре.
Чтобы узнать, как настроить пересылку писем с другого почтового ящика в ящик на Яндексе, обратитесь к разделу помощи другого почтового сервиса.
- Перейдите в настройки ящика Gmail, а затем на вкладку Пересылки и POP/IMAP .
- В блоке Доступ по протоколу POP (пункт Состояние ) установите переключатель в положение Включить POP для всех писем (даже для тех, которые уже загружены) .
- В блоке Доступ по протоколу IMAP (пункт Состояние ) установите переключатель в положение Включить IMAP .
- Нажмите кнопку Сохранить изменения .
Проверьте, что в настройках вашего почтового ящика на Яндексе включен доступ по протоколам POP3 или IMAP:
Убедитесь, что в настройках почтового ящика, с которого собираются письма, активирован доступ по протоколам POP3 или IMAP.
Rambler
Gmail
Mail.ru
В почтовом сервисе Mail.ru доступ к протоколам IMAP и POP3 активирован по умолчанию.
Outlook.com (hotmail.com)
Почтовый сервис Outlook.com может передавать письма только по протоколу POP. Чтобы активировать доступ по протоколу POP:
Yahoo
Почтовый сервис Yahoo может передавать письма только по протоколу IMAP. Этот протокол включен по умолчанию.
Если вашего почтового сервиса нет в списке, обратитесь за информацией в службу поддержки этого сервиса.
Проверьте, не установлен ли в настройках ящика запрет на скачивание\\n писем из конкретных папок или писем за конкретный период.\\n
Почтовая служба Outlook.com (hotmail.com, live.com) разрешает\\n пересылать письма только из папки Входящие .\\n Если вы хранили письма в другой папке, переместите их в папку\\n Входящие .
\\n "}]}}\">
Проверьте, не установлен ли в настройках ящика запрет на скачивание писем из конкретных папок или писем за конкретный период.
Почтовая служба Outlook.com (hotmail.com, live.com) разрешает пересылать письма только из папки Входящие . Если вы хранили письма в другой папке, переместите их в папку Входящие .
- Перейдите в настройки ящика Gmail, а затем на вкладку Пересылки и POP/IMAP .
- В блоке Доступ по протоколу POP (пункт Состояние ) установите переключатель в положение Включить POP для всех писем (даже для тех, которые уже загружены) .
- В блоке Доступ по протоколу IMAP (пункт Состояние ) установите переключатель в положение Включить IMAP .
- Нажмите кнопку Сохранить изменения .
Проверьте, что в настройках вашего почтового ящика на Яндексе включен доступ по протоколам POP3 или IMAP:
Убедитесь, что в настройках почтового ящика, с которого собираются письма, активирован доступ по протоколам POP3 или IMAP.
Rambler
Gmail
Mail.ru
В почтовом сервисе Mail.ru доступ к протоколам IMAP и POP3 активирован по умолчанию.
Outlook.com (hotmail.com)
Почтовый сервис Outlook.com может передавать письма только по протоколу POP. Чтобы активировать доступ по протоколу POP:
Yahoo
Почтовый сервис Yahoo может передавать письма только по протоколу IMAP. Этот протокол включен по умолчанию.
Если вашего почтового сервиса нет в списке, обратитесь за информацией в службу поддержки этого сервиса.
Проверьте правильность вводимого пароля - наберите его в текстовом\\n редакторе, скопируйте и вставьте в поле ввода пароля. Если вы уверены, что\\n пароль верный, но сборщик не подключается, попробуйте авторизоваться в\\n ящике, с которого хотите собирать письма.\\n "}]}}\">
Проверьте правильность вводимого пароля - наберите его в текстовом редакторе, скопируйте и вставьте в поле ввода пароля. Если вы уверены, что пароль верный, но сборщик не подключается, попробуйте авторизоваться в ящике, с которого хотите собирать письма.
Скорость работы сборщика зависит от количества писем в том ящике, из которого собираются письма, и от работы сервера, на котором находится этот ящик. Задержки в сборе писем могут также происходить из-за особенностей протоколов, по которым работает сборщик.
Чтобы получать письма мгновенно, настройте переадресацию из другого ящика в ящик на Яндексе. Перед настройкой переадресации отключите сборщик - иначе письма будут приходить в двойном экземпляре.
Выбрать папку для сбора писем нельзя в том случае, если вы настроили сборщик по протоколу IMAP - он не предусматривает возможности собирать письма в заданную папку, т.к. копирует структуру папок полностью. Вы можете изменить протокол на POP3, для этого:
- Откройте страницу настроек сбора почты .
- Нажмите на адрес нужного сборщика.
- Нажмите ссылку Удалить .
- Подтвердите удаление.
По моему мнению, Gmail обладает одним из самых удобных веб интерфейсов для работы с электронной почтой. Помимо просто приятного и удобного интерфейса, создатели не забыли и о функциональной части. Цепочки писем, создание различных папок, фильтры и т.д. Все это сделало Gmail одним из самых популярных почтовых сервисов в мире. Многие не знают о такой замечательной возможности, как сборщик почты. Например у вас есть один или несколько почтовых ящиков на вашем доменном имени , но стандартный интерфейс webmail и почтовые клиенты вас не устраивают (Mozilla Thunderbird , Microsoft Outlook , The Bat ). В таком случае можно воспользоваться сборщиком почты и обрабатывать всю почту через Gmail, как это сделать мы сейчас рассмотрим.
- Необходим аккаунт в Gmail, процесс регистрации довольно прост и думаю и разобраться с этим не составит труда.
- После регистрации, в Gmail необходимо перейти в настройки
- В настройка выбираем пункт "Аккаунты и импорт"
- В этом разделе нас интересует два пункта: "Отправлять письма как:" и "Проверить почту из других аккаунтов (с помощью POP3):". В них есть ссылки "Добавить другой свой адрес электронной почты" и "Добавьте свой почтовый аккаунт POP3".
- Для того, что бы собирать почту с другого почтового ящика, нажимаем на "Добавьте свой почтовый аккаунт POP3". Появляется новое окно, в котором нужно ввести адрес почтового ящика и нажать "Далее". После появляется несколько полей, которые необходимо заполнить:
Имя пользователя
Пароль
POP-сервер и порт — адрес POP сервера и порт для подключения к серверу, с которого будет собираться почта. Эту информацию вы можете узнать в поддержке вашего почтового сервиса, обычно он опубликован в разделе "Вопросы и ответы".
Сохранять копии полученных писем на сервере — если галочка не будет установлена, после загрузки писем, эти письма будут удалены из почтового ящика. .
Всегда использовать защищенное соединение (SSL) при получении писем — следует устанавливать, если ваш почтовый сервис для работы использует защищенное соединение SSL .
Присвоить ярлык входящим сообщениям — ярлык, это визуальная отметка возле письма. Удобно использовать для понимания, на какой почтовый ящик было отправлено письмо.
Архивировать входящие письма (пропустить входящие) — письма собранные с этого почтового ящика, будут архивироваться, во входящих их не будет. - Нажимаем "Добавить аккаунт", после чего, Gmail отправляет проверочное письмо на указанный вами почтовый ящик. В письме на выбор будет два варианта проверки, ссылка и код. По ссылке нужно просто перейти, а код вставить в поле подтверждения. Проще перейти по ссылке, код видимо отправляется на всякий случай, вдруг ссылка будет отображена в письме некорректно.
- Ну вот собственно и все, теперь наш аккаунт на Gmail автоматически собирает письма с другого почтового ящика. Если есть необходимость отвечать с этого или другого адреса используя тот же Gmail, в настройках нажимаем на ссылку "Добавить другой свой адрес электронной почты" Заполняем поля:
"Имя:" — можно вводить любые данные, например ваше имя.
"Адрес электронной почты:" — указываем почтовый адрес, от имени которого мы будем отвечать.
Галочка " Использовать как псевдоним." — этот адрес будет использован в качестве псевдонима вашего основного адреса и при отправке письма на него, оно будет отображено у вас во входящих, более подробно описано в справке google по ссылке "Подробнее...".
Укажите другой адрес в поле "Ответить" (необязательно) — по умолчанию, ответ приходит на тот же адрес, который использовался для отправки. Нажав на ссылку, вы можете указать другой почтовый ящик, на который будут доставлять письма, отправленые на этот адрес.
Нажимаем "Дальше" - Далее мы видим еще несколько полей, которые необходимо заполнить.
Сервер SMTP и Порт — эту информацию следует узнать у почтового сервиса.
Имя пользователя — обычно это адрес электронно почты, это логин для доступа к почтовому ящику.
Пароль — пароль доступа к почтовому ящику.
Защищенное соединение с использованием TLS (рекомендуется) и Защищенное соединение с использованием SSL — второй вариант (SSL) можно выбирать только если ваш почтовый сервис использует этот тип защищенного соединения. В основном можно выбрать первый пункт.После нажатия "Добавить аккаунт", будет отправлено проверочное письмо, по аналогии с добавлением почтового ящика для сбора почты. Подтверждаем и все готово.
WebAsyst Почта позволяет просматривать и отвечать на письма, приходящие на ваши почтовые адреса, расположенные на различных почтовых серверах, например: mail.ru, yandex.ru, gmail.com.
Почтовые адреса, расположенные на других серверах, будем называть внешними . Для каждого внешнего адреса в папке Входящие создается отдельная ветка. Новая почта проверяется автоматически, ежеминутно. При поступлении новых сообщений, название ящика, в который поступили письма, выделяется жирным.
В действительности, WebAsyst Почта не забирает письма с внешнего почтового сервера, а лишь узнает об их поступлении и читает заголовки. Конечно, если вы откроете письмо, щелкнув по его заголовку, то WebAsyst Почта прочитает и все содержимое письма. Однако, само письмо останется на почтовом сервере, и будет доступно через собственный веб-интерфейс почтовой службы или из почтовой программы, например Outlook или The Bat!.
WebAsyst Почта позволяет выполнять все основные операции с сообщениями, поступившими во внешние почтовые ящики:
- просмотр сообщений и вложенных файлов
- ответ отправителю и пересылка сообщения на другие адреса
- удаление или перемещение в папку WebAsyst Почты для постоянного хранения (при этих операциях оригинальное сообщение будет удалено с почтового сервера)
Зачем нужно собирать сообщения с других почтовых серверов?
Как правило, каждая почтовая служба предоставляет свой веб-интерфейс для работы с почтой. Тем не менее, воспользоваться сборщиком почты WebAsyst удобно, например, в следующих случаях:
- Когда необходимо видеть всю корреспонденцию, приходящую на разные почтовые адреса, в едином месте – на одной веб-странице.
- Когда вы обычно работаете в офисе с помощью почтовой программы Outlook Express и уехали в командировку без офисного компьютера. В этом случае WebAsyst Почта предоставит вам доступ ко всем вашим почтовым ящикам с любого компьютера, подключенного к интернету.
- Когда к письмам, приходящим на различные адреса, необходимо предоставить доступ другим сотрудникам без необходимости пересылки этих сообщений – WebAsyst Почта позволяет гибко настраивать права доступа для каждой папки.
- Наконец, когда на вашем почтовом сервере просто нет веб-интерфейса, или он не удобен в использовании.
- Сборщик почты с ваших ящиков на других почтовых системах
Множество хитростей помогут сделать работу с электронной почтой более удобной - SMS-уведомления, автоответчик, сборщик почты и другие возможности.
Несмотря на повсеместное распространение программ и сервисов для быстрого обмена небольшими сообщениями (ICQ, Google Talk и прочих), старая добрая электронная почта - тот способ обмена информацией, с которого, вообще говоря, начался Интернет - по-прежнему пользуется популярностью, почетом и уважением.
К сожалению, электронные почтовые ящики многих из нас используются, что называется, не в полную силу. Вы знаете, например, что несколько ящиков, даже расположенных в разных почтовых службах, можно фактически объединить в один? Или что в ожидании важного письма необязательно сидеть возле экрана, потому что можно настроить SMS-уведомление? Эти и многие друге возможности скрыты в настройках ваших почтовых ящиков, добраться к ним - дело нескольких кликов, но надо знать, в какую сторону «копать».
«Нас нет дома»
Если вы по тем или иным причинам в течение долгого времени будете отрезаны от Интернета (всякое бывает - простудились, уехали на дачу или в отпуск), то имеет смысл включить на этот срок так называемый автоответчик, который на все поступающие письма будет сообщать, что владелец ящика отбыл «в Париж по делу срочно» и ответит не сразу.
В системе Mail.ru (www.mail.ru) доступ к этой возможности можно получить, зайдя в почтовый ящик, нажав в верхнем меню кнопку «Еще», выбрав пункт «Настройки», а в нем - меню «Мастер писем». В нижней части открывшейся страницы вы увидите раздел «Автоответчик». Поставив галочку напротив пункта «Включить автоответчик», заполните поле «Текст автоответа». В нем вы вольны написать все что угодно, лишь бы ваш абонент понял, что вы не можете сию секунду прочесть его письмо, но как только окажетесь у компьютера, сразу прочтете. Под полем для текста задается время работы автоответчика - можно указать не только дату, но даже часы и минуты. Для того чтобы автоответчик заработал, необходимо ввести пароль, который вы используете для входа в почту.
В «Яндекс.Почте» (mail.yandex.ru) автоответчик доступен в меню «Настройка - Правила обработки почты». Чтобы включить его, необходимо нажать кнопку «Создать правило», а затем в разделе «Выполнить действие» выбрать пункт «Ответить следующим текстом» и ввести в поле нужный текст (вроде «Я сейчас не могу прочитать ваше письмо, но обещаю сделать это, как только у меня появится такая возможность»). Когда закончите, нажмите кнопку «Создать правило».
Есть автоответчик и в популярной почтовой системе Gmail (www.gmail.com). Его можно включить в настройках, кликнув на изображение шестеренки в верхнем углу. В разделе настроек зайдите во вкладку «Общие» и установите переключатель в положение «Включить автоответчик». При этом можно настроить автоответчик так, что письма о вашей недоступности будут отправляться только тем, кто добавлен в список контактов, - посторонние люди об отсутствии владельца ящика знать не будут.
Вся почта в одном ящике
Если вы используете несколько почтовых ящиков, то вам может пригодиться функция «сбора почты». Практически любая почтовая система позволяет подключаться к другим адресам электронной почты и скачивать оттуда письма. Таким образом у вас отпадет необходимость следить сразу за несколькими ящиками - вся корреспонденция будет складироваться в одном месте. В Mail.ru «сборщик почты» находится в разделе «Настройки - Сборщик почты (POP3-сервера)». Настраивается эта функция так: нужно указать название POP3-сервера и ввести пароль от ящика. Например, если вы хотите, чтобы в ваш ящик на Mail.ru поступали письма с «Яндекс.Почты», укажите адрес сервера pop.yandex.ru и пароль, который вы используете в почте «Яндекса». А если вам нужно, чтобы ваша почтовая система «забирала» почту с Gmail, то адрес pop3-сервера должен быть таким: pop.gmail.com. О том, как называются pop3-серверы других почтовых служб, можно узнать на сайтах этих служб. Их в Сети достаточно много, и каждую из них упомянуть будет сложновато.
В «Яндекс.Почте» сбор писем из других ящиков настраивается проще: нужно просто указать e-mail, с которого вы хотите выкачивать письма, и пароль к нему. Все остальные настройки система выполнит самостоятельно. В Gmail «сборщик почты» настраивается в разделе «Настройки почты - Аккаунты и импорт». В этой вкладке есть раздел «Сбор почты с других аккаунтов».
К слову сказать, собрать всю почту в одном ящике можно и иным способом. Так, в каждом из ваших электронных ящиков вы можете указать, что желаете всю входящую корреспонденцию перенаправлять на тот или иной адрес. Так, в «Яндекс.Почте» это делается в «Правилах обработки входящей почты». Зайдя в этот раздел, нажмите на кнопку «Создать правило» и выберите действие под названием «Переслать по адресу», после чего укажите адрес, куда следует перенаправлять почту. В Mail.ru перенаправлением почты заведует меню «Пересылка» в разделе настроек, а в Gmail, для того чтобы настроить пересылку писем, зайдите в раздел «Настройки почты - Пересылка и POP/IMAP», после чего в первом раскрывающемся меню выберите пункт «Добавить новый адрес электронной почты».
Непрошеные гости
Умеют почтовые системы и «отсекать» письма, которые вы по тем или иным причинам не хотите видеть в своем ящике. В «Яндекс.Почте» добавить адрес того или иного человека в так называемый «черный список» можно в разделе «Настройки - Правила обработки входящей почты». В поле черного цвета просто укажите «недружественный» e-mail и нажмите кнопку «добавить». Пункт «Черный список» существует и в настройках ящика Mail.ru. В Gmail проще всего нажать кнопку «Спам!» - письмо от неприятного адресата переместится в «мусорную корзину», и то же самое будет происходить в дальнейшем, но уже без вашего участия.
Почта в SMS
В ожидании важного письма совершенно необязательно часами сидеть перед компьютером и каждую минуту проверять почту. Так, например, Mail.ru позволяет настроить отправку SMS-уведомлений о приходе новых писем. В разделе «SMS-уведомления» укажите свой номер мобильника и поставьте галочку напротив пункта «Уведомлять о новой почте по SMS». Можно также выбрать время, когда SMS о новых письмах присылаться не будут - например, вряд ли кто-то захочет, чтобы его беспокоили по ночам. В Gmail и «Яндекс.Почте» такой возможности пока не предусмотрено, однако почта «Яндекса» позволяет при отправке письма отослать на тот или иной мобильный номер уведомление. Сделать это можно, нажав на ссылку «Дополнительные параметры» внизу формы написания письма и указав в соответствующем окне номер телефона.
«Заказное с уведомлением о вручении»
Почтовые системы позволяют вам узнавать, было ли письмо доставлено до адресата. После того как получатель сообщения откроет его, вам в ответ отправится специальное письмо, в котором будет об этом сказано. В «Яндекс.Почте» это делается при помощи ссылки «Дополнительные параметры» под текстом нового письма - в открывшемся окне надо просто поставить галочку напротив пункта «Уведомить о получении письма». А вот разработчики почты Gmail считают такую функцию излишней - во всяком случае, отыскать ее в настройках не удалось.