[英]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.