Вам не нужно использовать файл конфигурации для установки класса электронной почты.
Когда вы «вызываете роль» в зависимости от роли, она может устанавливать эти настройки во время выполнения с собственными настройками на основеданные ролей.
например, у вас будет что-то вроде этого:
function login(){
//do login stuff
//email settings for this user / role
$this->load->library('email'); //ensure its loaded
$conf['protocol'] = 'sendmail';
$conf['mailpath'] = '/usr/sbin/sendmail';
$conf['charset'] = 'iso-8859-1';
$conf['smtp_user'] = $this->session->userdata('email'); //user/role specific settings
$conf['wordwrap'] = TRUE;
$this->email->initialize($conf);
}
С этого момента, когда вы используете класс электронной почты, он будет отправлен с использованием этих настроек.(при условии, что вы не перезапишете их последними)