0.00
Рейтинг
0.01
Сила

Владимир Киселёв

Отправитель письма при использовании sendmail

При отправки писем движком LiveStreet используя sendmail есть один нюанс, что отправителем письма (Return-Path) является какой-нибудь nobody@localhost или www-data@localhost или ещё что-то в подобном духе. (всё зависит от настроек сервера, но при виртуальном хостинге возможность исправить настройки сервера отсутствуют).

Изза чего письма могут оседать на некоторых спам фильтрах. или в некоторых webmailах или почтовых программах высвечиваться типа ваш@мейл On Behalf Of: nobody@localhost, что в принципе не кошерно.

Решение проблемы достаточно простое. (я думаю этот момент стоит внести в штатную сборку LiveStreet)

в файле engine/modules/mail/Mail.class.php

176 строка файла
в функции Init() находим
$this->oMailer->From=$this->sFrom;

и добавляем
$this->oMailer->Sender=$this->sFrom;


т.е. вот так выглядить функция после исправлений
	public function Init() {
		/**
		 * Настройки SMTP сервера для отправки писем
		 */
		$this->sHost     = Config::Get('sys.mail.smtp.host');
		$this->iPort     = Config::Get('sys.mail.smtp.port');
		$this->sUsername = Config::Get('sys.mail.smtp.user');
		$this->sPassword = Config::Get('sys.mail.smtp.password');
		$this->bSmtpAuth = Config::Get('sys.mail.smtp.auth');
		$this->sSmtpSecure = Config::Get('sys.mail.smtp.secure');
		/**
		 * Метод отправки почты
		 */
		$this->sMailerType=Config::Get('sys.mail.type');
		/**
		 * Кодировка писем
		 */
		$this->sCharSet=Config::Get('sys.mail.charset');
		/**
		 * Мыло от кого отправляется вся почта
		 */
		$this->sFrom=Config::Get('sys.mail.from_email');
		/**
		 * Имя от кого отправляется вся почта
		 */
		$this->sFromName=Config::Get('sys.mail.from_name');

		/**
		 * Создаём объект phpMailer и устанвливаем ему необходимые настройки
		 */
		$this->oMailer = new phpmailer();
		$this->oMailer->Host=$this->sHost;
		$this->oMailer->Port=$this->iPort;
		$this->oMailer->Username=$this->sUsername;
		$this->oMailer->Password=$this->sPassword;
		$this->oMailer->SMTPAuth=$this->bSmtpAuth;
		$this->oMailer->SMTPSecure=$this->sSmtpSecure;
		$this->oMailer->Mailer=$this->sMailerType;
		$this->oMailer->WordWrap=$this->iWordWrap;
		$this->oMailer->CharSet=$this->sCharSet;

		$this->oMailer->From=$this->sFrom;
		$this->oMailer->Sender=$this->sFrom; // 176 строка. фиксит return-path
		$this->oMailer->FromName=$this->sFromName;
	}

Долгая загрузка страницы при включённом кешировании

Здравствуйте!
Перевёл сайт на движок LiveStreet. Версия 0.5.1.
Включаю кеш. Пробую добавить комментарий. Пост приходит с большой задержкой. При этом от количества «подвисших процессов» ложится сервер. Ошибок нет. БД летает.
Посоветуйте, что делать?

Сайт:
Пользователей более 5000.
Комментарий более 100000.

Сервер:
cpu DualCore 2.4GHz E2220
memory 2Gb (DDRII)
hdd 320Gb (Hitachi HDT725032VLA360 SATAII 16M.)

РНР: 5.2.5

Config.php
$config['sys']['cache']['use'] = true; // использовать кеширование или нет
$config['sys']['cache']['type'] = 'file'; // тип кеширования: file и memory. memory использует мемкеш
$config['sys']['cache']['dir'] = '___path.root.server___/tmp/'; // каталог для файлового кеша, также используется для временных картинок. По умолчанию подставляем каталог для хранения сессий
$config['sys']['cache']['prefix'] = 'livestreet_cache'; // префикс кеширования, чтоб можно было на одной машине держать несколько сайтов с общим кешевым хранилищем
$config['sys']['cache']['directory_level'] = 1; // уровень вложенности директорий файлового кеша
$config['sys']['cache']['solid'] = true; // Настройка использования раздельного и монолитного кеша для отдельных операций

Лога профилирования процесса добавления комментария
20.03.2012 11:18 45,759843 0.91040200 1332235078 0.67024500 1332235124 1 0 full_time
20.03.2012 11:18 44,384112 0.24135200 1332235080 0.62546400 1332235124 954 1 ExecAction blog
20.03.2012 11:18 36,263979 0.28254900 1332235084 0.54652800 1332235120 1663 954 callModule Comment->AddComment()
20.03.2012 11:18 34,319749 0.63899400 1332235084 0.95874300 1332235118 1699 1663 callModule Topic->increaseTopicCountComment()
20.03.2012 11:18 34,111548 0.83469400 1332235084 0.94624200 1332235118 1706 1699 callModule Cache->Clean()
20.03.2012 11:18 3,113062 0.24375700 1332235080 0.35681900 1332235083 973 954 callModule Topic->GetTopicById()