diff --git a/main/admin/session_import.php b/main/admin/session_import.php index 388136f149..ab6253a370 100644 --- a/main/admin/session_import.php +++ b/main/admin/session_import.php @@ -1,4 +1,4 @@ -0 && $sendMail) - { - $emailto=$firstname.' '.$lastname.' <'.$email.'>'; - $emailsubject='['.get_setting('siteName').'] '.get_lang('YourReg').' '.get_setting('siteName'); - $emailbody="[NOTE:] ".get_lang('ThisIsAutomaticEmailNoReply').".\n\n".get_lang('langDear')." $firstname $lastname,\n\n".get_lang('langYouAreReg')." ". get_setting('siteName') ." ".get_lang('langSettings')." $username\n". get_lang('langPass')." : $password\n\n".get_lang('langAddress') ." ". get_lang('langIs') ." ". $serverAddress ."\n\n".get_lang('YouWillSoonReceiveMailFromCoach')."\n\n". get_lang('langProblem'). "\n\n". get_lang('langFormula'); - //#287 modifiee par Stephane DEBIEVE - FOREM - $emailheaders='From: '.get_setting('administratorName').' '.get_setting('administratorSurname').' <'.get_setting('emailAdministrator').">\n"; - $emailheaders.='Reply-To: '.get_setting('emailAdministrator'); - - @api_send_mail($emailto,$emailsubject,$emailbody,$emailheaders); + { + $recipient_name = $firstname.' '.$lastname; + $emailsubject = '['.get_setting('siteName').'] '.get_lang('YourReg').' '.get_setting('siteName'); + $emailbody="[NOTE:] ".get_lang('ThisIsAutomaticEmailNoReply').".\n\n".get_lang('langDear')." $firstname $lastname,\n\n".get_lang('langYouAreReg')." ". get_setting('siteName') ." ".get_lang('langSettings')." $username\n". get_lang('langPass')." : $password\n\n".get_lang('langAddress') ." ". get_lang('langIs') ." ". $serverAddress ."\n\n".get_lang('YouWillSoonReceiveMailFromCoach')."\n\n". get_lang('langProblem'). "\n\n". get_lang('langFormula'); + $sender_name = get_setting('administratorName').' '.get_setting('administratorSurname'); + $email_admin = get_setting('emailAdministrator'); + $headers="From: $sender_name <$email_admin>\r\nReply-to: $email_admin\r\nReturn-Path: $email_admin\r\ncharset=$charset"; + @api_mail($recipient_name, $email, $emailsubject, $emailbody, $sender_name,$email_admin,$headers); } } else diff --git a/main/admin/user_add.php b/main/admin/user_add.php index caef9b7c31..8c3c020cd8 100644 --- a/main/admin/user_add.php +++ b/main/admin/user_add.php @@ -1,4 +1,4 @@ -validate()) } if (!empty ($email) && $send_mail) { - $emailto = $firstname.' '.$lastname.' <'.$email.'>'; - $emailsubject = '['.get_setting('siteName').'] '.get_lang('YourReg').' '.get_setting('siteName'); - $emailheaders = 'From: '.get_setting('administratorName').' '.get_setting('administratorSurname').' <'.get_setting('emailAdministrator').">\n"; - $emailheaders .= 'Reply-To: '.get_setting('emailAdministrator'); - $emailbody=get_lang('Dear')." ".stripslashes("$firstname $lastname").",\n\n".get_lang('YouAreReg')." ". get_setting('siteName') ." ".get_lang('Settings')." ". $username ."\n". get_lang('Pass')." : ".stripslashes($password)."\n\n" .get_lang('Address') ." ". get_setting('siteName') ." ". get_lang('Is') ." : ". $_configuration['root_web'] ."\n\n". get_lang('Problem'). "\n\n". get_lang('Formula').",\n\n".get_setting('administratorName')." ".get_setting('administratorSurname')."\n". get_lang('Manager'). " ".get_setting('siteName')."\nT. ".get_setting('administratorTelephone')."\n" .get_lang('Email') ." : ".get_setting('emailAdministrator'); - @api_send_mail($emailto, $emailsubject, $emailbody, $emailheaders); + $recipient_name = $firstname.' '.$lastname; + $emailsubject = '['.get_setting('siteName').'] '.get_lang('YourReg').' '.get_setting('siteName'); + $emailbody=get_lang('Dear')." ".stripslashes("$firstname $lastname").",\n\n".get_lang('YouAreReg')." ". get_setting('siteName') ." ".get_lang('Settings')." ". $username ."\n". get_lang('Pass')." : ".stripslashes($password)."\n\n" .get_lang('Address') ." ". get_setting('siteName') ." ". get_lang('Is') ." : ". $_configuration['root_web'] ."\n\n". get_lang('Problem'). "\n\n". get_lang('Formula').",\n\n".get_setting('administratorName')." ".get_setting('administratorSurname')."\n". get_lang('Manager'). " ".get_setting('siteName')."\nT. ".get_setting('administratorTelephone')."\n" .get_lang('Email') ." : ".get_setting('emailAdministrator'); + $sender_name = get_setting('administratorName').' '.get_setting('administratorSurname'); + $email_admin = get_setting('emailAdministrator'); + $headers="From: $sender_name <$email_admin>\r\nReply-to: $email_admin\r\nReturn-Path: $email_admin\r\ncharset=$charset"; + @api_mail($recipient_name, $email, $emailsubject, $emailbody, $sender_name,$email_admin,$headers); } Security::clear_token(); if(isset($user['submit_plus'])) diff --git a/main/admin/user_edit.php b/main/admin/user_edit.php index f1169446b4..a82bb11023 100644 --- a/main/admin/user_edit.php +++ b/main/admin/user_edit.php @@ -1,4 +1,4 @@ -validate()) if (!empty ($email) && $send_mail) { - $emailto = $firstname.' '.$lastname.' <'.$email.'>'; - $emailsubject = '['.get_setting('siteName').'] '.get_lang('YourReg').' '.get_setting('siteName'); - $emailheaders = 'From: '.get_setting('administratorName').' '.get_setting('administratorSurname').' <'.get_setting('emailAdministrator').">\n"; - $emailheaders .= 'Reply-To: '.get_setting('emailAdministrator'); + $recipient_name = $firstname.' '.$lastname; + $emailsubject = '['.get_setting('siteName').'] '.get_lang('YourReg').' '.get_setting('siteName'); + $sender_name = get_setting('administratorName').' '.get_setting('administratorSurname'); + $email_admin = get_setting('emailAdministrator'); + $headers="From: $sender_name <$email_admin>\r\nReply-to: $email_admin\r\nReturn-Path: $email_admin\r\ncharset=$charset"; $emailbody = get_lang('Dear')." ".stripslashes("$firstname $lastname").",\n\n".get_lang('YouAreReg')." ". get_setting('siteName') ." ".get_lang('Settings')." ". $username; // Send password by e-mail if it has been modified, even if encrypted in DB (it doesn't make sense to send an e-mail with login info without the password, even if the password is encrypted) if($reset_password > 0) { $emailbody .= "\n".get_lang('Pass')." : ".stripslashes($password); } - $emailbody .= "\n\n" .get_lang('Address') ." ". get_setting('siteName') ." ". get_lang('Is') ." : ". $_configuration['root_web'] ."\n\n". get_lang('Problem'). "\n\n". get_lang('Formula').",\n\n".get_setting('administratorName')." ".get_setting('administratorSurname')."\n". get_lang('Manager'). " ".get_setting('siteName')."\nT. ".get_setting('administratorTelephone')."\n" .get_lang('Email') ." : ".get_setting('emailAdministrator'); - @api_send_mail($emailto, $emailsubject, $emailbody, $emailheaders); + @api_mail($recipient_name, $email, $emailsubject, $emailbody, $sender_name,$email_admin,$headers); + } $tok = Security::get_token(); header('Location: user_list.php?action=show_message&message='.urlencode(get_lang('UserUpdated')).'&sec_token='.$tok); diff --git a/main/admin/user_import.php b/main/admin/user_import.php index b90987a437..7c2e76c9a4 100644 --- a/main/admin/user_import.php +++ b/main/admin/user_import.php @@ -1,4 +1,4 @@ - $user) @@ -167,13 +168,14 @@ function save_data($users) ClassManager :: add_user($user_id, $class_id); } if ($sendMail) - { - $emailto = '"'.$user['FirstName'].' '.$user['LastName'].'" <'.$user['Email'].'>'; - $emailsubject = '['.api_get_setting('siteName').'] '.get_lang('YourReg').' '.api_get_setting('siteName'); - $emailbody = get_lang('Dear').$user['FirstName'].' '.$user['LastName'].",\n\n".get_lang('YouAreReg')." ".api_get_setting('siteName')." ".get_lang('Settings')." $user[UserName]\n".get_lang('Pass')." : $user[Password]\n\n".get_lang('Address')." ".api_get_setting('siteName')." ".get_lang('Is')." : ".api_get_path('WEB_PATH')." \n\n".get_lang('Problem')."\n\n".get_lang('Formula').",\n\n".api_get_setting('administratorName')." ".api_get_setting('administratorSurname')."\n".get_lang('Manager')." ".api_get_setting('siteName')."\nT. ".api_get_setting('administratorTelephone')."\n".get_lang('Email')." : ".api_get_setting('emailAdministrator').""; - $emailheaders = 'From: '.api_get_setting('administratorName').' '.api_get_setting('administratorSurname').' <'.api_get_setting('emailAdministrator').">\n"; - $emailheaders .= 'Reply-To: '.api_get_setting('emailAdministrator'); - @api_send_mail($user['Email'], $emailsubject, $emailbody, $emailheaders); + { + $recipient_name = $user['FirstName'].' '.$user['LastName']; + $emailsubject = '['.api_get_setting('siteName').'] '.get_lang('YourReg').' '.api_get_setting('siteName'); + $emailbody = get_lang('Dear').$user['FirstName'].' '.$user['LastName'].",\n\n".get_lang('YouAreReg')." ".api_get_setting('siteName')." ".get_lang('Settings')." $user[UserName]\n".get_lang('Pass')." : $user[Password]\n\n".get_lang('Address')." ".api_get_setting('siteName')." ".get_lang('Is')." : ".api_get_path('WEB_PATH')." \n\n".get_lang('Problem')."\n\n".get_lang('Formula').",\n\n".api_get_setting('administratorName')." ".api_get_setting('administratorSurname')."\n".get_lang('Manager')." ".api_get_setting('siteName')."\nT. ".api_get_setting('administratorTelephone')."\n".get_lang('Email')." : ".api_get_setting('emailAdministrator').""; + $sender_name = get_setting('administratorName').' '.get_setting('administratorSurname'); + $email_admin = get_setting('emailAdministrator'); + $headers="From: $sender_name <$email_admin>\r\nReply-to: $email_admin\r\nReturn-Path: $email_admin\r\ncharset=$charset"; + @api_mail($recipient_name, $user['Email'], $emailsubject, $emailbody, $sender_name,$email_admin,$headers); } } diff --git a/main/auth/courses.php b/main/auth/courses.php index f3f5b70a80..3fda80a5ce 100644 --- a/main/auth/courses.php +++ b/main/auth/courses.php @@ -1,4 +1,4 @@ -validate()) { $emailbody .=get_lang('FirstName').': '.$values['firstname']."\n"; $emailbody .=get_lang('Email').': '.$values['email']."\n"; $emailbody .=get_lang('Status').': '.$values['status']."\n\n"; - $emailbody .=get_lang('ManageUser').': '.api_get_path(WEB_CODE_PATH).'admin/user_edit.php?user_id='.$user_id; - $emailheaders = "From: ".get_setting('administratorSurname')." ".get_setting('administratorName')." <".get_setting('emailAdministrator').">\n"; - $emailheaders .= "Reply-To: ".get_setting('emailAdministrator'); - @ api_send_mail($emailto, $emailsubject, $emailbody, $emailheaders); + $emailbody .=get_lang('ManageUser').': '.api_get_path(WEB_CODE_PATH).'admin/user_edit.php?user_id='.$user_id; + + $sender_name = get_setting('administratorName').' '.get_setting('administratorSurname'); + $email_admin = get_setting('emailAdministrator'); + $headers="From: $sender_name <$email_admin>\r\nReply-to: $email_admin\r\nReturn-Path: $email_admin\r\ncharset=$charset"; + @api_mail('', $emailto, $emailsubject, $emailbody, $sender_name,$email_admin,$headers); // 3. exit the page unset($user_id); @@ -404,9 +407,8 @@ if ($form->validate()) { if (strstr($values['email'], '@')) { // Lets predefine some variables. Be sure to change the from address! - $firstname = $values['firstname']; - $lastname = $values['lastname']; - $emailto = $firstname.' '.$lastname.' <'.$values['email'].'>'; + $recipient_name = $values['firstname'].' '.$values['lastname']; + $email = $values['email']; $emailfromaddr = api_get_setting('emailAdministrator'); $emailfromname = api_get_setting('siteName'); $emailsubject = "[".get_setting('siteName')."] ".get_lang('YourReg')." ".get_setting('siteName'); @@ -414,14 +416,14 @@ if ($form->validate()) { // The body can be as long as you wish, and any combination of text and variables $emailbody = get_lang('Dear')." ".stripslashes("$firstname $lastname").",\n\n".get_lang('YouAreReg')." ".get_setting('siteName')." ".get_lang('Settings')." ".$values['username']."\n".get_lang('Pass')." : ".stripslashes($values['pass1'])."\n\n".get_lang('Address')." ".get_setting('siteName')." ".get_lang('Is')." : ".$_configuration['root_web']."\n\n".get_lang('Problem')."\n\n".get_lang('Formula').",\n\n".get_setting('administratorName')." ".get_setting('administratorSurname')."\n".get_lang('Manager')." ".get_setting('siteName')."\nT. ".get_setting('administratorTelephone')."\n".get_lang('Email')." : ".get_setting('emailAdministrator'); - + // Here we are forming one large header line // Every header must be followed by a \n except the last - $emailheaders = "From: ".get_setting('administratorSurname')." ".get_setting('administratorName')." <".get_setting('emailAdministrator').">\n"; - $emailheaders .= "Reply-To: ".get_setting('emailAdministrator'); - - // Because I predefined all of my variables, this api_send_mail() function looks nice and clean hmm? - @api_send_mail($emailto, $emailsubject, $emailbody, $emailheaders); + $headers="From: $sender_name <$email_admin>\r\nReply-to: $email_admin\r\nReturn-Path: $email_admin\r\ncharset=$charset"; + $sender_name = get_setting('administratorName').' '.get_setting('administratorSurname'); + $email_admin = get_setting('emailAdministrator'); + + @api_mail($recipient_name, $email, $emailsubject, $emailbody, $sender_name,$email_admin,$headers); } } diff --git a/main/auth/lostPassword.php b/main/auth/lostPassword.php index d8b79a126c..f701106068 100644 --- a/main/auth/lostPassword.php +++ b/main/auth/lostPassword.php @@ -1,6 +1,6 @@ \n"; $emailHeaders .= "Reply-To: ".get_setting('emailAdministrator')."\n"; - $emailHeaders .= "X-Sender: ".get_setting('emailAdministrator')."\n"; + $emailHeaders .= "Return-Path: ".get_setting('emailAdministrator')."\n"; + $emailHeaders .= "X-Sender: ".get_setting('emailAdministrator')."\n"; $emailHeaders .= "X-Mailer: PHP / ".phpversion()."\n"; $emailHeaders .= "Content-Type: text/plain;\n\tcharset=\"".$charset."\"\n"; $emailHeaders .= "Mime-Version: 1.0"; @@ -80,14 +81,16 @@ function send_password_to_user($user) { global $charset; global $_configuration; - $emailHeaders = get_email_headers(); // Email Headers $emailSubject = "[".get_setting('siteName')."] ".get_lang('LoginRequest'); // SUBJECT $userAccountList = get_user_account_list($user); // BODY $emailBody = get_lang('YourAccountParam')." ".$_configuration['root_web']."\n\n$userAccountList"; // SEND MESSAGE - $emailTo = $user[0]["email"]; - if (@ api_send_mail($emailTo, $emailSubject, $emailBody, $emailHeaders)) + $emailTo = $user[0]["email"]; + $sender_name = get_setting('administratorName').' '.get_setting('administratorSurname'); + $email_admin = get_setting('emailAdministrator'); + + if (@api_mail('', $emailTo, $emailSubject, $emailBody, $sender_name,$email_admin,$emailHeaders)==1) { Display::display_confirmation_message(get_lang('YourPasswordHasBeenEmailed')); } @@ -113,13 +116,15 @@ function handle_encrypted_password($user) $emailSubject = "[".get_setting('siteName')."] ".get_lang('LoginRequest'); // SUBJECT $userAccountList = get_user_account_list($user, true); // BODY $emailTo = $user[0]["email"]; - $secretword = get_secret_word($emailTo); - //$emailBody = get_lang("password_request")."\n\n\n".get_lang("YourAccountParam")." ".$_configuration['root_web']."\n\n".$userAccountList; + $secretword = get_secret_word($emailTo); $emailBody = get_lang('DearUser')." :\n".get_lang("password_request")."\n\n"; $emailBody .= "-----------------------------------------------\n".$userAccountList."\n-----------------------------------------------\n\n"; $emailBody .=get_lang('PasswordEncryptedForSecurity'); $emailBody .="\n\n".get_lang('Formula').",\n".get_lang('PlataformAdmin'); - if (@ api_send_mail($emailTo, $emailSubject, $emailBody, $emailHeaders)) + $sender_name = get_setting('administratorName').' '.get_setting('administratorSurname'); + $email_admin = get_setting('emailAdministrator'); + + if (@api_mail('', $emailTo, $emailSubject, $emailBody, $sender_name,$email_admin,$emailHeaders)==1) { Display::display_confirmation_message(get_lang('YourPasswordHasBeenEmailed')); } diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index bbc80575b8..92423a8fe1 100644 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -1862,10 +1862,12 @@ class CourseManager $emailbody .=get_lang('UserName').': '.$student['username']."\n"; $emailbody .=get_lang('LastName').': '.$student['lastname']."\n"; $emailbody .=get_lang('FirstName').': '.$student['firstname']."\n"; - $emailbody .=get_lang('Email').': '.$student['email']."\n\n"; - $emailheaders = "From: ".get_setting('administratorSurname')." ".get_setting('administratorName')." <".get_setting('emailAdministrator').">\n"; - $emailheaders .= "Reply-To: ".get_setting('emailAdministrator'); - @ api_send_mail($emailto, $emailsubject, $emailbody, $emailheaders); + $emailbody .=get_lang('Email').': '.$student['email']."\n\n"; + $recipient_name = $tutor['firstname'].' '.$tutor['lastname']; + $sender_name = get_setting('administratorName').' '.get_setting('administratorSurname'); + $email_admin = get_setting('emailAdministrator'); + $headers="From: $sender_name <$email_admin>\r\nReply-to: $email_admin\r\nReturn-Path: $email_admin\r\ncharset=$charset"; + @api_mail($recipient_name, $emailto, $emailsubject, $emailbody, $sender_name,$email_admin,$headers); } } diff --git a/main/user/user_add.php b/main/user/user_add.php index 4f3a92389b..d73560d1ef 100644 --- a/main/user/user_add.php +++ b/main/user/user_add.php @@ -35,6 +35,7 @@ $language_file="registration"; include("../inc/global.inc.php"); +require_once(api_get_path(INCLUDE_PATH).'lib/mail.lib.inc.php'); $this_section=SECTION_COURSES; if (! ($is_courseAdmin || $is_platformAdmin)) api_not_allowed(true); @@ -200,13 +201,16 @@ if($register) $emailheaders = "From: ".get_setting('administratorSurname')." ".get_setting('administratorName')." <".$administratorEmail.">\n"; $emailheaders .= "Reply-To: ".$administratorEmail."\n"; + $emailheaders .= "Return-Path: ".$administratorEmail."\n"; + $emailheaders .= "charset: ".$charset."\n"; $emailheaders .= "X-Mailer: PHP/" . phpversion() . "\n"; $emailheaders .= "X-Sender-IP: $REMOTE_ADDR"; // (small security precaution...) - + $recipient_name = $firstname_form.' '.$lastname_form; + $sender_name = get_setting('administratorName').' '.get_setting('administratorSurname'); + $email_admin = get_setting('emailAdministrator'); if ($courseRegSucceed) { $emailbody = get_lang('Dear')." ".stripslashes("$firstname_form $lastname_form").",\n".get_lang('OneResp')." $currentCourseName ".get_lang('RegYou')." ".get_setting('siteName')." ".get_lang('Settings')." $username_form\n".get_lang('Pass').": $password_form\n".get_lang('Address')." ".get_setting('siteName')." ".get_lang('Is').": ".$_configuration['root_web']."\n".get_lang('Problem')."\n".get_lang('Formula').",\n".get_setting('administratorSurname')." ".get_setting('administratorName')."\n".get_lang('Manager')." ".get_setting('siteName')." \nT. ".get_setting('administratorTelephone')."\n".get_lang('Email').": ".get_setting('emailAdministrator')."\n"; - $message = get_lang('TheU')." ".stripslashes("$firstname_form $lastname_form")." ".get_lang('AddedToCourse')."".get_lang('BackUser')."\n"; } else @@ -216,7 +220,7 @@ if($register) $message = stripslashes("$firstname_form $lastname_form")." ".get_lang('AddedU'); } - @api_send_mail($emailto, $emailsubject, $emailbody, $emailheaders); + @api_mail($recipient_name, $email_form, $emailsubject, $emailbody, $sender_name,$email_admin,$emailheaders); /* * remove