簡體   English   中英

你如何得到 php 發送一個 email

[英]How do you get php to send an email

我在 flutter 中有一個前端,它發送數據以更新 php 中的 mysql 數據庫。 表單發送數據並且數據庫更新得很好。 但是,它繞過或忽略了發送郵件的部分。 我沒有收到任何郵件錯誤。 做錯了什么?

<?php
    
    require_once('dbc.php');
    
    $name = $_POST["name"];
    $email= $_POST["email"];
    $phone= $_POST["phone"];
    $password = $_POST["password"];
    
    
    $findexist="select * from registered where name='$name'";
    
    $resultsearch=mysqli_query($conn,$find-exist);
    
    if(mysqli_num_rows($resultsearch)>0) {
        
        while($row=mysqli_fetch_array($resultsearch)) {
            $result["success"] = "3";
            $result["message"] = "user Already exist";
            echo json_encode($result);
            mysqli_close($conn);
        }
    } else {
        $sql = "INSERT INTO registered (name,email,phone,password) VALUES ('$name','$email','$phone','$password');";
        
        if ( mysqli_query($conn, $sql) ) {
            $result["success"] = "1";
            $result["message"] = "Registration success";
            echo json_encode($result);
            

            $to = $email;
            $subject = 'Signup | Verification';
            $message = 'Thanks for signing up with redhowler!';
        
            $headers = "MIME-Version: 1.0" . "\r\n";
            $headers = "Content-Type: text/html; charset=utf-8" . "\r\n";
        
            $headers .= 'From: redhowler2@gmail.com'. "\r\n";
        
            mail($to, $subject, $message, $headers);
            
            mysqli_close($conn);
      
        }
    }
    
?>

嘗試使用 PHPMailer

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/phpmailer/phpmailer/src/Exception.php';
require 'vendor/phpmailer/phpmailer/src/PHPMailer.php';
require 'vendor/phpmailer/phpmailer/src/SMTP.php';
 $mail = new PHPMailer();
        $mail->IsSMTP();
        $mail->Mailer = "smtp";
        $mail->SMTPDebug  = 1;
        $mail->SMTPAuth   = TRUE;
        $mail->SMTPSecure = "tls";
        $mail->Port       = 587;
        $mail->Host       = "smtp.gmail.com";
        $mail->Username   = "xxxxxxxx@email.com";
        $mail->Password   = "xxxxxxxxxxxxxxx";

        $mail->IsHTML(true);
        $mail->AddAddress($to, "recipient-name");
        $mail->SetFrom("xxxxxxxxx@email.com", "from-name");
        $mail->AddReplyTo("xxxxxxxxx@email.com", "reply-to-name");
        $mail->Subject = $subject;
        $mail->MsgHTML($editor);




        if (!$mail->Send()) {
            echo "Error while sending Email.";
            var_dump($mail);
        } else {
            echo "Email sent successfully";
        }

用於在您的計算機上設置發送郵件。 我沒有使用 PHPmailer。 我使用了郵件()。 盡管如此,根據操作系統,您必須對 UNIX 或 Linux 腳本有所了解。 您還必須搜索(如谷歌搜索)“如何在 Mac 上設置發送郵件(進入操作系統)”。 下面提到的鏈接對我有幫助:

https://gist.github.com/hacks/7ec2fe500332a6d23ee68d1c1a2279d5

https://benjaminrojas.net/configuring-postfix-to-send-mail-from-mac-os-x-mountain-lion/#comment-87436

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM