簡體   English   中英

在 php 表單上發送郵件提交

[英]Send mail on php form submit

想在 php 表單提交上發送郵件。 但是下面的代碼不起作用。 無法弄清楚我哪里出錯了。

<input name="add" type="submit" id="add" value="Send Requets">

<?php
    if (isset($POST['add'])) {
        $From ='xxxxx@hotmail.com';
        $To = 'xxxxx@yahoo.com';
        $Subject = 'Leave Request';
        $body = 'You have received a leave request';
        $headers = 'From: $From \r\n';
        mail($To, $Subject, $body, $headers);
    }
?>

您正在本地主機上運行此功能,請記住! 郵件功能在本地主機上不起作用! 如果您想在本地主機上發送郵件,您必須進行 SMTP 配置! 或者您必須將此代碼上傳到開發服務器,它會在那里正常工作

好吧,因為您使用 localhost,除非您將 localhost 配置為發送電子郵件,否則這將不起作用。

您可以使用 sendmail 包從本地主機發送郵件,XAMPP 中內置了 sendmail 包。 因此,如果您使用 XAMPP,那么您可以輕松地從本地主機發送郵件。

例如你可以配置C:\\xampp\\php\\php.ini and c:\\xampp\\sendmail\\sendmail.ini為 gmail 發送郵件。

在 C:\\xampp\\php\\php.ini 中找到 extension=php_openssl.dll 並從該行的開頭刪除分號,以使 SSL 為 localhost 的 gmail 工作。

在 php.ini 文件中找到[mail function]並更改

SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = my-gmail-id@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

用以下代碼替換 sendmail.ini 中的所有現有代碼

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=your-gmail-id@gmail.com
auth_password=your-gmail-password
force_sender=your-gmail-id@gmail.com

然后你就完成了:)

請記住使用 XAMMP 控制面板重新啟動服務器,以使更改生效。

暫無
暫無

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

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