【发布时间】:2014-02-21 12:34:11
【问题描述】:
当有人在我的网页上填写表格时,我正在尝试向自己发送电子邮件。我的表单如下所示:
<form id="contactForm" action="#" method="post">
<fieldset>
<p>
<label for="name" >Name</label>
<input name="name" id="name" type="text" class="form-poshytip" title="Enter your full name" />
</p>
<p>
<label for="email" >Email</label>
<input name="email" id="email" type="text" class="form-poshytip" title="Enter your email address" />
</p>
<p>
<label for="web">Website</label>
<input name="web" id="web" type="text" class="form-poshytip" title="Enter your website" />
</p>
<p>
<label for="comments">Message</label>
<textarea name="comments" id="comments" rows="5" cols="20" class="form-poshytip" title="Enter your comments"></textarea>
</p>
<!-- send mail configuration -->
<input type="hidden" value=EMAIL" name="to" id="to" />
<input type="hidden" value="Email received from Website" name="subject" id="subject" />
<input type="hidden" value="send-mail.php" name="sendMailUrl" id="sendMailUrl" />
<!-- ENDS send mail configuration -->
<p><input type="button" value="Send" name="submit" id="submit" /> <span id="error" class="warning">Message</span></p>
</fieldset>
</form>
我拥有的 PHP 看起来像这样:
<?php
//vars
$subject = $_POST['subject'];
$to = explode(',', $_POST['to'] );
$from = $_POST['email'];
//data
$msg = "NAME: " .$_POST['name'] ."<br>\n";
$msg .= "EMAIL: " .$_POST['email'] ."<br>\n";
$msg .= "WEBSITE: " .$_POST['web'] ."<br>\n";
$msg .= "COMMENTS: " .$_POST['comments'] ."<br>\n";
//Headers
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From: <".$from. ">" ;
$smtp = Mail::factory('smtp', array(
'host' => 'ssl://smtp.gmail.com',
'port' => '465',
'auth' => true,
'username' => 'EMAIL',
'password' => 'PASSWORD'
));
$mail = $smtp->send($to, $headers, $msg);
?>
其中 EMAIL 和 PASSWORD 被替换为值......
谁能给点建议?
【问题讨论】:
-
这里有什么问题?
-
电子邮件永远不会通过
-
试试
if($mail) echo "mail sent"; else echo "mail not sent";这个告诉send()有没有问题 -
我认为Gmail的端口是587。另外,为什么不在邮件功能的php.ini中设置SMTP详细信息,使用sendmail然后@mail($to,$subject,$味精,$标头)
-
不幸的是,我没有 PHP 经验!只是不高兴地试图弄清楚这一点!