e_moon
Новичок
Здравствуйте,
чтобы разгрузить сервер, подключили сервис Яндекс.Почты для домена. Почта отправляется через соединение с SMTP. Фигня в том, что в отличие от локального SMTP-сервера (exim), появился большой процент не доставленных сообщений. Мне кажется, что проблема в том, что сервер яндекса переодически не резолвится. Ну да бог с этим - можно ведь повторить отправку позже! Но вот незадача - не получается отследить отправлено письмо или нет, может подскажите что? Идея в том, чтобы вносить в лог информацию о том, что сообщение успешно отправлено. К сожалению - все сообщения в логе получаются отправлеными, а реально люди их не получают. Проверяю fsockopen и fwrite, но видимо этого мало...
Алгоритм такой:
чтобы разгрузить сервер, подключили сервис Яндекс.Почты для домена. Почта отправляется через соединение с SMTP. Фигня в том, что в отличие от локального SMTP-сервера (exim), появился большой процент не доставленных сообщений. Мне кажется, что проблема в том, что сервер яндекса переодически не резолвится. Ну да бог с этим - можно ведь повторить отправку позже! Но вот незадача - не получается отследить отправлено письмо или нет, может подскажите что? Идея в том, чтобы вносить в лог информацию о том, что сообщение успешно отправлено. К сожалению - все сообщения в логе получаются отправлеными, а реально люди их не получают. Проверяю fsockopen и fwrite, но видимо этого мало...
Алгоритм такой:
PHP:
...
/* флаг отслеживания отправки */
$this->sockResolving=False;
...
if(False==($this->fileStream=fsockopen(...)))
return False;
else
$this->sockResolving=True;
/* ставим True */
if(!@fwrite(...))
{
/* если в процессе записи в сокет произошла ошибка - ставим False */
$this->sockResolving=False;
return False;
}
fclose();
...
if($this->sockResolving==True)
{
mysql_query('insert into db ...'); /* записываем, что все ок */
print 'сообщение успешно отправлено';
}
else
{
print 'сообщение не удалось отправить, повторить попытку еще раз?';
}