I have developed a CMS and when user forgets his/her password / the system will generate a new random password and send it to the user through email but when i open the email it automatically strip some character from my email body replacing them with (=).
This is the email after its sent you can see the messed up parts in bold
Dear Noor Shirzai This Email was se=t to you in order to inform you that your Password has be=n reset. Bellow is your New Password : Your Username is : mohib Your New Pas=word is : IOODiGhcYYrL Please change your <=trong> New Password as soon as you login to the system in order to=avoid any security issues.
Note : when i send this with Pure PHP mail function it works fine.
bellow is my email function and the email configuration file code:
I will really appreciate any help that i get. thanks
my function that send the mail:
if (! function_exists('send_password'))
{
function send_password($user_info, $password)
{
$CI =& get_instance();
$username = $user_info['username'];
$name = $user_info['firstname'].' '.$user_info['lastname'];
$email = $user_info['email'];
$subject = 'Your New Password : Noor CMS |'.$CI->config->item('site_name');
//email body
$message = '';
$message .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
$message .= '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">';
$message .= '<meta content="text/html; charset=utf-8" http-equiv="Content-type">';
$message .= '<head>';
$message .= '<title> Your New Password : Noor CMS | '.$CI->config->item('site_name').' </title>';
$message .= '</head>';
$message .= '<body>';
$message .= 'Dear '.trim($name);
$message .= 'This Email was sent to you in order to inform you that your <strong>Password</strong> has been reset.<br/>';
$message .= 'Bellow is your <strong> New Password :</strong><br/>';
$message .= 'Your <strong>Username </strong>is : <strong> '.trim($username).'</strong><br/>';
$message .= 'Your <strong>New Password </strong>is : <strong> '.trim($password).'</strong><br/>';
$message .= 'Please change your <strong>New Password</strong> as soon as you login to the system in order to avoid any security issues.<br/>';
$message .= '</body></html>';
//prepare email and send
$CI->email->from($CI->config->item('admin_email'), $CI->config->item('admin_name'));
$CI->email->to($email);
$CI->email->subject($subject);
$CI->email->message($message);
if ($CI->email->send())
{
return TRUE;
}
return FALSE;
}
}
And the email.php config file is as follows:
$config['useragent'] = 'NoorCMS';
$config['protocol'] = 'mail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['smtp_host'] = '';
$config['smtp_user'] = '';
$config['smtp_pass'] = '';
$config['smtp_port'] = 25;
$config['smtp_timeout'] = 10;
$config['wordwrap'] = FALSE;
$config['wrapchars'] = 100;
$config['mailtype'] = 'html';
$config['send_multipart'] = FALSE;
$config['charset'] = 'utf-8';
$config['validate'] = FALSE;
$config['priority'] = 1;
$config['crlf'] = '\n';
$config['newline'] = '\n';
$config['bcc_batch_mode'] = FALSE;
$config['bcc_batch_size'] = 200;
I had this problem - you need to update your email config:
$config['newline'] = "\r\n";
$config['crlf'] = "\r\n";
To try cutting down the line length, do this:
$message = array();
$message[] = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
$message[] = '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">';
$message[] = '<meta content="text/html; charset=utf-8" http-equiv="Content-type">';
$message[] = '<head>';
$message[] = '<title> Your New Password : Noor CMS | '.$CI->config->item('site_name').' </title>';
$message[] = '</head>';
$message[] = '<body>';
$message[] = 'Dear '.trim($name);
$message[] = 'This Email was sent to you in order to inform you that your <strong>Password</strong> has been reset.<br/>';
$message[] = 'Bellow is your <strong> New Password :</strong><br/>';
$message[] = 'Your <strong>Username </strong>is : <strong> '.trim($username).'</strong><br/>';
$message[] = 'Your <strong>New Password </strong>is : <strong> '.trim($password).'</strong><br/>';
$message[] = 'Please change your <strong>New Password</strong> as soon as you login to the system in order to avoid any security issues.<br/>';
$message[] = '</body></html>';
$message = implode(PHP_EOL, $message);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.