2010-10-03 3 views
0

Я пытаюсь изменить заголовки User-Agent и X-Mailer, отправленные классом электронной почты CodeIgniter, так что никто не может узнать, что веб-сайт работает на CI.CodeIgniter Email Class - User-Agent Header

Согласно инструкции, я сделал application/config/email.php файл, содержащий следующее:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

$config['mailtype'] = 'html'; 
$config['useragent'] = 'MyUseragentHere'; 

Когда я смотрю на заголовки в входящих сообщений электронной почты, то они выглядят так:

User-Agent: CodeIgniter 
X-Mailer: MyUseragentHere 

Обратите внимание, что один из заголовков был изменен CI, а другой нет ?! Любые предложения о том, как исправить, не редактируя системные файлы CI (хотите сохранить что-то приятное и чистое в случае будущих обновлений и т. Д.), Получили высокую оценку.

ответ

1

Очень странно, попробуйте позвонить по номеру $this->email->clear(), который вам не нужно, но это то, где он устанавливает пользовательский агент в коде.

Если он по-прежнему не изменяется, временно замените var $useragent в системном файле, чтобы узнать, работает ли это.

+0

Проблема '$ this-> email-> clear()' исправила проблему, большое спасибо. Хотя я бы предпочел, чтобы мне не приходилось звонить это каждый раз, когда я хочу отправить электронное письмо! Есть ли у вас какое-либо представление о более постоянном исправлении, которое по-прежнему не требует редактирования системных файлов? – chigley

+0

Вы также можете попробовать запустить email-> initialize() при первом вызове класса, так как это вызовет тот же метод (даже если вам не нужно в соответствии с документацией CI) выглядит немного чище. – fire