Почему в CodeIgniter 2.0.2 не отсылаются письма.
С выходом версии 2.0.2 фреймворка CodeIgniter на некоторых серверах перестали отсылаться письма с ошибкой о том что сервер не сконфигурирован правильно для работы с функцией mail(). Я не стал разбираться что нужно сделать чтобы исправить эту ошибку полностью, но разобраться что нужно сделать чтобы обойти эту проблему пришлось. Проблема связана с тем, что библиотека E-mail проверяет запущен ли PHP в Safe mode, и если нет, то вызывает функцию mail с дополнительным параметром:
"-f ".$this->clean_email($this->_headers['From'])
Зачем это нужно разбираться я не стал, но вот то что это не работает на одном из популярных провайдеров рунета могу сказать точно. Чтобы решить эту проблему, нужно после инициализации библиотеки E-mail параметрами написать так:
$this->email->_safe_mode = TRUE;
Так библиотека E-mail будет считать что на сервере включен режим Safe mode и отсылать письма через функцию mail не используя дополнительные параметры.
The additional_parameters parameter can be used to pass additional flags as command line options to the program configured to be used when sending mail, as defined by the sendmail_path configuration setting. For example, this can be used to set the envelope sender address when using sendmail with the -f sendmail option.