php
2017-01-20 199 views -1 likes 
-1

想發送郵件在php表單提交。但下面的代碼不起作用。無法找出我出錯的地方。發送郵件在php表單提交

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

<?php 
    if (isset($POST['add'])) { 
     $From ='[email protected]'; 
     $To = '[email protected]'; 
     $Subject = 'Leave Request'; 
     $body = 'You have received a leave request'; 
     $headers = 'From: $From \r\n'; 
     mail($To, $Subject, $body, $headers); 
    } 
?> 
+0

請顯示完整表格 – Cashbee

+0

你在哪裏使用這個函數localhost或開發服務器? –

+0

本地主機正在使用.....完整的代碼是不需要的,因爲所有其他部分工作正常。 –

回答

0

那麼既然你使用本地主機,這是不會工作,除非你配置本地主機發送電子郵件。

您可以使用sendmail包從本地主機發送郵件,sendmail包在XAMPP中爲inbuild。所以,如果您使用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 = [email protected] 
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 
[email protected] 
auth_password=your-gmail-password 
[email protected] 

然後你做:)

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

0

你正在本地主機上運行此功能,請記住!郵件功能在本地主機上不起作用!如果你想在本地主機上發送郵件,你必須做SMTP配置!或者你必須上傳這段代碼到開發服務器,它會在那裏工作很好

+0

謝謝。本地主機上的SMTP配置的任何良好的鏈接? –

+0

http://stackoverflow.com/questions/5342822/php-mail-function-on-localhost –

+0

http://stackoverflow.com/questions/18288007/php-send-mail-from-localhost –

相關問題