我想首先提到一個我已經在這裏找到的非常類似的問題,但是我在那裏提出了答案,但仍然沒有工作,所以我在這裏發佈我的問題。郵件不在wordpress中發送
<?php
/**
* Plugin Name: GCI Contact Form
* Plugin URI: http://www.example.com
* Description: A Simple Plugin To Implement Contact Form into your WordPress Site
* Version: 0.0.1
* Author: Parnasree Chowdhury
* Author URI: http://www.example.com
* License: GPL2
*/
function html_form_code() {
echo '<form method="post" action="' . esc_url($_SERVER['REQUEST_URI']) . '">';
echo '<fieldset>';
echo '<input type="text" name="cf-name" value="' .esc_attr(isset($_POST["cf-name"]) ? $_POST["cf-name"] : '') . '" placeholder="Name*" class="form-control form-dark" required/>';
echo '<input type="email" name="cf-email" value="' . esc_attr(isset($_POST["cf-email"]) ? $_POST["cf-email"] : '') . '" placeholder="Email*" class="form-control form-dark" required/>';
echo '<textarea rows="6" name="cf-message" placeholder="Message*" class="form-control form-dark" required>' . esc_attr(isset($_POST["cf-message"]) ? $_POST["cf-message"] : '') . '</textarea>';
echo '<input name="cf-submitted" class="btn btn-border border-white" type="submit" value="Submit" />';
//echo '<input type="hidden" name="action" value="gci_deliver_mail" />';
echo '<div class="loading"></div>';
echo '</fieldset>';
echo '</form>';
}
function gci_deliver_mail() {
// if the submit button is clicked, send the email
if (isset($_POST['cf-submitted'])) {
// sanitize form values
$name = sanitize_text_field($_POST["cf-name"]);
$email = sanitize_email($_POST["cf-email"]) ;
$subject = "Enquiry message submitted from iceindia";
$message = esc_textarea($_POST["cf-message"]);
// get the blog administrator's email address
$to = '[email protected]';
$headers = "From: $name <$email>" . "\r\n";
// If email has been process for sending, display a success message
if (wp_mail($to, $subject, $message, $headers)) {
echo '<div>';
echo '<p>Thanks for contacting me, expect a response soon.</p>';
echo '</div>';
} else {
echo 'An unexpected error occurred';
}
}
}
function cf_shortcode() {
ob_start();
gci_deliver_mail();
html_form_code();
return ob_get_clean();
}
add_shortcode('gci_contact_form', 'cf_shortcode');
?>
以上是我的contact-form插件代碼。 我用短代碼在我的主題的頭版像以下內容: - >
<div class="contact-form">
<?php echo do_shortcode('[gci_contact_form]');?>
</div>
它的工作完美地與接觸形式越來越出現在我的主題的頭版所應當,甚至形式得到提交,但郵件不發送它觸發錯誤,即在gci_deliver_mail()函數的else部分回顯錯誤。
下面是截圖,其中的錯誤是發生 - > http://tinyurl.com/omcp7zz 預先感謝
我添加了其他部分的下面一行: - >
var_dump($to, $subject, $message, $headers);
現在輸出:
字符串(23)「[email protected]」字符串(39)「從iceindia提交的查詢消息」字符串(4)「test」字符串(27)「From:par」發生意外錯誤
拜託你'的var_dump( $ to,$ subject,$ message,$ headers)'在你的else子句中編輯輸出到你的問題中? – Siguza
在當地工作得很好。 –
@Siguza我照你所說的去做了。編輯問題 –