【发布时间】:2017-01-02 07:19:59
【问题描述】:
我在 html 文件中有一个表单,当用户填写表单并提交时,我试图在我的 gmail 帐户上接收电子邮件。我的网站在服务器上而不是在本地主机上运行。我的代码没有错误但仍然没有收到电子邮件。我不知道为什么?谁能给我示例代码或告诉我我做错了什么? .. 提前致谢 ... 这是我的代码
<form id="main-contact-form" name="contact-form" method="post" action="sendemail.php">
<div class="row wow fadeInUp" data-wow-duration="1000ms" data-wow-delay="300ms">
<div class="col-sm-6">
<div class="form-group">
<input type="text" name="name" class="form-control" placeholder="Name" required="required">
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<input type="email" name="email" class="form-control" placeholder="Email Address" required="required">
</div>
</div>
</div>
<div class="form-group">
<input type="text" name="subject" class="form-control" placeholder="Subject" required="required">
</div>
<div class="form-group">
<textarea name="message" id="message" class="form-control" rows="4" placeholder="Enter your message" required="required"></textarea>
</div>
<div class="form-group">
<button type="submit" class="btn-submit">Send Now</button>
</div>
</form>
sendemail.php 是
<?php
$name = @trim(stripslashes($_POST['name']));
$from = @trim(stripslashes($_POST['email']));
$subject = @trim(stripslashes($_POST['subject']));
$message = @trim(stripslashes($_POST['message']));
$to = 'khurram.ansar@gmail.com';
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: {$name} <{$from}>";
$headers[] = "Reply-To: <{$from}>";
$headers[] = "Subject: {$subject}";
$headers[] = "X-Mailer: PHP/".phpversion();
mail($to, $subject, $message, $headers);
die;
【问题讨论】:
-
var_dump(mail($to, $subject, $message, $headers));的输出是什么 -
邮件有用吗?试试
mail('khurram.ansar@gmail.com','test','test');- Brucie Alpha -
你连接到一个邮件服务器吧?您使用的主机是什么?
-
mail()函数要求$headers是一个字符串,而不是一个数组。 -
请在更正标题后检查您的垃圾邮件文件夹中的邮件。因为 gmail 会将来自未知服务器的邮件放入垃圾邮件中。
标签: php sendmail forms http-post