Replace own emailer to SwiftMailer.

This commit is contained in:
Yuriy Pikhtarev 2017-05-21 15:00:01 +03:00
commit b2fdf0b2a9
No known key found for this signature in database
GPG key ID: 3A9B5A757B48ECC6
13 changed files with 406 additions and 552 deletions

View file

@ -56,54 +56,49 @@ if ($row = DB()->fetch_row($sql)) {
$user_email = $row['user_email'];
$user_lang = $row['user_lang'];
if (true || IS_ADMIN) {
// TRUE instead of missing user_opt "prevent_email"
if (isset($_POST['submit'])) {
$subject = trim(html_entity_decode($_POST['subject']));
$message = trim(html_entity_decode($_POST['message']));
if (isset($_POST['submit'])) {
$subject = trim(html_entity_decode($_POST['subject']));
$message = trim(html_entity_decode($_POST['message']));
if (!$subject) {
$errors[] = $lang['EMPTY_SUBJECT_EMAIL'];
}
if (!$message) {
$errors[] = $lang['EMPTY_MESSAGE_EMAIL'];
}
if (!$errors) {
require CLASS_DIR . '/emailer.php';
$emailer = new emailer($bb_cfg['smtp_delivery']);
$emailer->from($userdata['username'] . " <{$userdata['user_email']}>");
$emailer->email_address($username . " <$user_email>");
$emailer->use_template('profile_send_email', $user_lang);
$emailer->set_subject($subject);
$emailer->assign_vars(array(
'SITENAME' => $bb_cfg['sitename'],
'FROM_USERNAME' => $userdata['username'],
'TO_USERNAME' => $username,
'MESSAGE' => $message,
));
$emailer->send();
$emailer->reset();
bb_die($lang['EMAIL_SENT']);
}
if (!$subject) {
$errors[] = $lang['EMPTY_SUBJECT_EMAIL'];
}
if (!$message) {
$errors[] = $lang['EMPTY_MESSAGE_EMAIL'];
}
$template->assign_vars(array(
'USERNAME' => profile_url($row),
'S_HIDDEN_FIELDS' => '',
'S_POST_ACTION' => "profile.php?mode=email&amp;" . POST_USERS_URL . "=$user_id",
'ERROR_MESSAGE' => ($errors) ? implode('<br />', array_unique($errors)) : '',
));
if (!$errors) {
/** @var TorrentPier\Legacy\Emailer() $emailer */
$emailer = new TorrentPier\Legacy\Emailer();
print_page('usercp_email.tpl');
} else {
bb_die($lang['USER_PREVENT_EMAIL']);
$emailer->set_from([$userdata['user_email'] => $userdata['username']]);
$emailer->set_to([$user_email => $username]);
$emailer->set_subject($subject);
$emailer->set_template('profile_send_email', $user_lang);
$emailer->assign_vars(array(
'SITENAME' => $bb_cfg['sitename'],
'FROM_USERNAME' => $userdata['username'],
'TO_USERNAME' => $username,
'MESSAGE' => $message,
));
$emailer->send();
bb_die($lang['EMAIL_SENT']);
}
}
$template->assign_vars(array(
'USERNAME' => profile_url($row),
'S_HIDDEN_FIELDS' => '',
'S_POST_ACTION' => "profile.php?mode=email&amp;" . POST_USERS_URL . "=$user_id",
'ERROR_MESSAGE' => ($errors) ? implode('<br />', array_unique($errors)) : '',
));
print_page('usercp_email.tpl');
} else {
bb_die($lang['USER_NOT_EXIST']);
}

View file

@ -584,31 +584,31 @@ if ($submit && !$errors) {
} else {
if ($bb_cfg['reg_email_activation']) {
$message = $lang['ACCOUNT_INACTIVE'];
$email_subject = sprintf($lang['EMAILER_SUBJECT']['USER_WELCOME_INACTIVE'], $bb_cfg['sitename']);
$email_template = 'user_welcome_inactive';
} else {
$message = $lang['ACCOUNT_ADDED'];
$email_subject = sprintf($lang['EMAILER_SUBJECT']['USER_WELCOME'], $bb_cfg['sitename']);
$email_template = 'user_welcome';
}
require CLASS_DIR . '/emailer.php';
$emailer = new emailer($bb_cfg['smtp_delivery']);
/** @var TorrentPier\Legacy\Emailer() $emailer */
$emailer = new TorrentPier\Legacy\Emailer();
$emailer->from($bb_cfg['sitename'] . " <{$bb_cfg['board_email']}>");
$emailer->email_address($username . " <{$email}>");
$emailer->use_template($email_template, $user_lang);
$emailer->set_from([$bb_cfg['board_email'] => $bb_cfg['sitename']]);
$emailer->set_to([$email => $username]);
$emailer->set_subject($email_subject);
$emailer->set_template($email_template, $user_lang);
$emailer->assign_vars(array(
'SITENAME' => $bb_cfg['sitename'],
'WELCOME_MSG' => sprintf($lang['WELCOME_SUBJECT'], $bb_cfg['sitename']),
'USERNAME' => html_entity_decode($username),
'PASSWORD' => $new_pass,
'U_ACTIVATE' => make_url('profile.php?mode=activate&' . POST_USERS_URL . '=' . $new_user_id . '&act_key=' . $db_data['user_actkey'])
));
$emailer->send();
$emailer->reset();
}
bb_die($message);
@ -625,21 +625,22 @@ if ($submit && !$errors) {
$pr_data['user_actkey'] = $user_actkey;
$db_data['user_actkey'] = $user_actkey;
require CLASS_DIR . '/emailer.php';
$emailer = new emailer($bb_cfg['smtp_delivery']);
/** @var TorrentPier\Legacy\Emailer() $emailer */
$emailer = new TorrentPier\Legacy\Emailer();
$emailer->from($bb_cfg['sitename'] . " <{$bb_cfg['board_email']}>");
$emailer->email_address($username . " <{$email}>");
$emailer->use_template('user_activate', $pr_data['user_lang']);
$emailer->set_from([$bb_cfg['board_email'] => $bb_cfg['sitename']]);
$emailer->set_to([$email => $username]);
$emailer->set_subject($subject);
$emailer->set_subject($lang['EMAILER_SUBJECT']['USER_ACTIVATE']);
$emailer->set_template('user_activate', $pr_data['user_lang']);
$emailer->assign_vars(array(
'SITENAME' => $bb_cfg['sitename'],
'USERNAME' => html_entity_decode($username),
'U_ACTIVATE' => make_url("profile.php?mode=activate&u={$pr_data['user_id']}&act_key=$user_actkey"),
));
$emailer->send();
$emailer->reset();
$message = $lang['PROFILE_UPDATED_INACTIVE'];
$user->session_end();

View file

@ -63,22 +63,22 @@ if (isset($_POST['submit'])) {
bb_die('Could not update new password information');
}
require CLASS_DIR . '/emailer.php';
$emailer = new emailer($bb_cfg['smtp_delivery']);
/** @var TorrentPier\Legacy\Emailer() $emailer */
$emailer = new TorrentPier\Legacy\Emailer();
$emailer->from($bb_cfg['sitename'] . " <{$bb_cfg['board_email']}>");
$emailer->email_address("$username <{$row['user_email']}>");
$emailer->use_template('user_activate_passwd', $row['user_lang']);
$emailer->set_from([$bb_cfg['board_email'] => $bb_cfg['sitename']]);
$emailer->set_to([$row['user_email'] => $username]);
$emailer->set_subject($lang['EMAILER_SUBJECT']['USER_ACTIVATE_PASSWD']);
$emailer->set_template('user_activate_passwd', $row['user_lang']);
$emailer->assign_vars(array(
'SITENAME' => $bb_cfg['sitename'],
'USERNAME' => $username,
'PASSWORD' => $user_password,
'U_ACTIVATE' => make_url('profile.php?mode=activate&' . POST_USERS_URL . '=' . $user_id . '&act_key=' . $user_actkey)
));
$emailer->send();
$emailer->reset();
bb_die($lang['PASSWORD_UPDATED']);
} else {