使用Zoho建立邮件服务器;为它创建自己的phpMail函数


Setting up mail server with Zoho & making own phpMail function for it

我不知道是否我的代码是问题,或者如果我配置了Zoho的SMTP的设置不正确。

基本上,我希望能够动态发送电子邮件与一个简单的php函数,如例如

phpMail("to@example.com", $subject, $body, "from@example.com", "replyto@example.com");

这是我的PHPMailer.php脚本(它看到函数和它的设置)

$mail = new PHPMailer;
//$mail->SMTPDebug = 3;                               // Enable verbose debug output
$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.zoho.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '**REMOVED**';                 // SMTP username
$mail->Password = '**REMOVED**';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465;                                    // TCP port to connect to
$mail->isHTML(true);                                  // Set email format to HTML

// SYTAX: phpMail($from, $reply, $to, $subject, $body);
function phpMail($to, $subject, $body, $from = "from@example.com", $reply = "replyto@example.com") {
    if (isset($from)) 
        $mail->From = $from;
        $mail->FromName = "testing";
    if (isset($to)) 
        $mail->addAddress($to);
    if (isset($reply)) 
        $mail->addReplyTo($reply);
    if (isset($subject)) 
        $mail->Subject = $subject;
    if (isset($body)) 
        $mail->Body = $body;
        $mail->AltBody = $body;
    if(!$mail->send()) {
        echo 'Message could not be sent.';
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    } else {
        echo 'Message has been sent';
    }
}

现在的问题是,我没有收到电子邮件,也没有收到任何错误/消息,但它也没有向我发送电子邮件。

当你创建一个PHP函数时,确保你的对象不在你的函数之外。

我的错误不是,虽然,这基本上是我自己的愚蠢,这与代码无关,但更多的是我的"表单post数据"。

下面的配置对我使用zoho邮件有效。
试试吧:

$mail=new JPhpMailer;
$mail->IsSMTP();
$mail->Host='smtp.zoho.com';
// Enable this option to see deep debug info
// $mail->SMTPDebug = 4;  
$mail->SMTPSecure = 'ssl';
$mail->Port='465';
$mail->SMTPAuth=true;
$mail->Username='your_email_address';
$mail->Password='your_eamil_address_password';
$mail->isHTML(true);
$mail->SetFrom('your_email_address','Your Name');
$mail->Subject='PHPMailer Test Subject via smtp, basic with authentication';
$mail->AltBody='To view the message, please use an HTML compatible email viewer!';
$mail->MsgHTML('<h1>JUST A TEST!</h1>');
$mail->AddAddress('destination_email_address','John Doe');
 if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}