简体   繁体   English

如何使用 php email() 从本地主机发送确认邮件

[英]How can I send confirmation email from localhost using php email()

php.ini file
SMTP = smtp.gmail.com
smtp_port = 25
sendmail_from = tuhin.edru@gmail.com
sendmail_path="\"C:\xampp\sendmail\sendmail.exe\" -t"

sendmail.ini file
smtp_server=smtp.gmail.com
smtp_port=25
auth_username=tuhin.edru@gmail.com
auth_password=0123456789
force_sender=tuhin.edru@gmail.com



$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbname="sis";
$conn=mysqli_connect("$dbhost","$dbuser","$dbpass") or die("could not connect to mysql");

mysqli_select_db($conn,$dbname);

$username=$_POST['username'];
$email=$_POST['email'];
$password=$_POST['password'];

$q1=mysqli_query($conn,"insert into signup_tbl values('$username','$email','$password')");

if($q1)
{

    ini_set("SMTP", "smtp.gmail.com");

    $to = $email; 
    $subject = "Signup | Verification"; 
    $message = " Its a message";                   
    $header = "From: tuhin.edru@gmail.com"; 
    $sentmail = mail($to, $subject, $message, $header); 

    if($sentmail)
    {
        echo "successfully sent"
    }

}

output:data is uploaded in database but cannot send email.An error message is showed saying输出:数据已上传到数据库但无法发送电子邮件。显示错误消息说

Warning: mail(): Failed to connect to mailserver at "smtp.gmail.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in警告:mail():无法连接到“smtp.gmail.com”端口 25 的邮件服务器,请验证 php.ini 中的“SMTP”和“smtp_port”设置或使用 ini_set()

how can i fix this?i have already tried port:587 and 465 but no improvement.plz help me fix this我该如何解决这个问题?我已经尝试过端口:587 和 465 但没有任何改进。请帮我解决这个问题

I highly recommend you to stop using mail() function.我强烈建议您停止使用mail()函数。 It likes to cause various problems.它喜欢引起各种问题。 In my opinion the better way to send emails is to use PHPMailer library.在我看来,发送电子邮件的更好方法是使用PHPMailer库。 It provides full SMTP support and some more cool features.它提供完整的 SMTP 支持和一些更酷的功能。

Even with an any error it will be easier to fix your problem when you use tool with big community instead old, rare used function.即使有任何错误,当您使用具有大社区的工具而不是旧的、很少使用的功能时,解决您的问题也会更容易。

php.ini file
SMTP = smtp.gmail.com
smtp_port = 25
sendmail_from = tuhin.edru@gmail.com
sendmail_path="\"C:\xampp\sendmail\sendmail.exe\" -t"

sendmail.ini file
smtp_server=smtp.gmail.com
smtp_port=25
auth_username=tuhin.edru@gmail.com
auth_password=0123456789
force_sender=tuhin.edru@gmail.com



$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbname="sis";
$conn=mysqli_connect("$dbhost","$dbuser","$dbpass") or die("could not connect to mysql");

mysqli_select_db($conn,$dbname);

$username=$_POST['username'];
$email=$_POST['email'];
$password=$_POST['password'];

$q1=mysqli_query($conn,"insert into signup_tbl values('$username','$email','$password')");

if($q1)
{

    ini_set("SMTP", "smtp.gmail.com");

    $to = $email; 
    $subject = "Signup | Verification"; 
    $message = " Its a message";                   
    $header = "From: tuhin.edru@gmail.com"; 
    $sentmail = mail($to, $subject, $message, $header); 

    if($sentmail)
    {
        echo "successfully sent"
    }

}

output:data is uploaded in database but cannot send email.An error message is showed saying输出:数据已上传到数据库但无法发送电子邮件。显示错误消息说

Warning: mail(): Failed to connect to mailserver at "smtp.gmail.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in警告:mail(): 无法在 "smtp.gmail.com" 的 25 端口连接到邮件服务器,请验证 php.ini 中的 "SMTP" 和 "smtp_port" 设置或使用 ini_set()

how can i fix this?i have already tried port:587 and 465 but no improvement.plz help me fix this我该如何解决这个问题?我已经尝试过端口:587 和 465 但没有任何改进。请帮我解决这个问题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM