[1062] PHP7入門
<?php
class MailSender
{
public function sendMail($email, $user, $id, $type)
{
require 'scripts/PHPMailer/PHPMailerAutoload.php';
include 'config.php';
$finishedtext = $active_email;
// ADD $_SERVER['SERVER_PORT'] TO $verifyurl STRING AFTER $_SERVER['SERVER_NAME'] FOR DEV URLS USING PORTS OTHER THAN 80
// substr() trims "createuser.php" off of the current URL and replaces with verifyuser.php
// Can pass 1 (verified) or 0 (unverified/blocked) into url for "v" parameter
$verifyurl = substr($base_url . $_SERVER['PHP_SELF'], 0, -strlen(basename($_SERVER['PHP_SELF']))) . "verifyuser.php?v=1&uid=" . $id;
// Create a new PHPMailer object
// ADD sendmail_path = "env -i /usr/sbin/sendmail -t -i" to php.ini on UNIX servers
$mail = new PHPMailer;
$mail->isHTML(true);
$mail->CharSet = "UTF-8";
$mail->WordWrap = 80;
$mail->setFrom($from_email, $from_name);
$mail->AddReplyTo($from_email, $from_name);
/****
* Set who the message is to be sent to
* CAN BE SET TO addAddress([email protected], 'Your Name') FOR PRIVATE USER APPROVAL BY MODERATOR
* SET TO addAddress($email, $user) FOR USER SELF-VERIFICATION
*****/
$mail->addAddress($email, $user);
//Sets message body content based on type (verification or confirmation)
if ($type == 'Verify') {
//Set the subject line
$mail->Subject = $user . ' Account Verification';
//Set the body of the message
$mail->Body = $verifymsg . '<br><a href="' . $verifyurl . '">' . $verifyurl . '</a>';
$mail->AltBody = $verifymsg . $verifyurl;
} elseif ($type == 'Active') {
//Set the subject line
$mail->Subject = $site_name . ' Account Created!';
//Set the body of the message
$mail->Body = $active_email . '<br><a href="' . $signin_url . '">' . $signin_url . '</a>';
$mail->AltBody = $active_email . $signin_url;
};
//SMTP Settings
if ($mailServerType == 'smtp') {
$mail->IsSMTP(); //Enable SMTP
$mail->SMTPAuth = true; //SMTP Authentication
$mail->Host = $smtp_server; //SMTP Host
//Defaults: Non-Encrypted = 25, SSL = 465, TLS = 587
$mail->SMTPSecure = $smtp_security; // Sets the prefix to the server
$mail->Port = $smtp_port; //SMTP Port
//SMTP user auth
$mail->Username = $smtp_user; //SMTP Username
$mail->Password = $smtp_pw; //SMTP Password
//********************
$mail->SMTPDebug = 0; //Set to 0 to disable debugging (for production)
}
try {
$mail->Send();
} catch (phpmailerException $e) {
echo $e->errorMessage(); // Error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); // Something else
}
}
}