如何使用表单(html)和php发送消息来发送消息?
Posted
技术标签:
【中文标题】如何使用表单(html)和php发送消息来发送消息?【英文标题】:How to send a message using form (html) and php to send message? 【发布时间】:2014-04-30 10:36:00 【问题描述】:我正在使用 html 中的此表单代码在我的网站上制作联系表单:
<form method="post" action="contact.php">
<p>
<label for="name">Name</label>
<input type="text" id="name" name="name" />
</p>
<p>
<label for="email">Email</label>
<input type="text" id="email" name="email" />
</p>
<p>
<label for="message">Message</label>
<textarea id="message" name="message" rows="6" cols="30"></textarea>
</p>
<p>
<input type="submit" name="send" value="Send message" />
</p>
</form>
这是我用来将联系表发送到我的电子邮件地址的 php 代码:
<?php
if(isset($_POST['send']))
// Prepare the email
$to = 'someone@example.com';
$subject = 'Message sent from website';
$message = $_POST['message'];
// Send it
$sent = mail($to, $subject, $message);
if($sent)
echo 'Your message has been sent successfully!';
else
echo 'Sorry, your message could not send.';
?>
我无法将它发送到我的电子邮件地址。我已经让它活着尝试它,但它仍然不起作用,我不知道我做错了什么。如何让用户将电子邮件发送到我的电子邮件地址 - 将其发送到我的电子邮件地址,以便我可以在我的电子邮件中看到消息? (请帮忙)
【问题讨论】:
“不起作用”是什么意思? 您是否收到您指定的错误消息?尝试将$to
的值更改为您的实际电子邮件地址。此外,您没有检查他们是否填写了其余字段...
【参考方案1】:
此代码 100% 有效 在 PHP 中尝试此代码。然后将其上传到您的托管站点。因为电子邮件不适用于本地。所以你需要上传它。快乐编码。!!!
<?php
$to ='santoshdevnath15@gmail.com';
$from = 'santoshdevnath15@gmail.com';
$subject = 'Html Eamil Check';
$message = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<div style="width:400px; height:400px; background-color:#096; color:#FFF">
<h1>Welcome to inet shopping site</h1>
<p>
Dear Santosh,
We have received your Cash-On-Delivery order. We need to confirm your order by call. We will get in touch with you soon on Your order will be processed only after confirmation.
For the payment, please pay Rs. 4000 cash to the courier person when he delivers the product.
"Please call us on 8882248819 to confirm after you deposit the amount."
</div>
</body>
</html>';
$headers = "From: $from\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
if(mail($to, $subject, $message, $headers))
echo 'ok';
else
echo 'error';
?>
【讨论】:
【参考方案2】:您的代码签出。唯一(或此时可能的其他未知因素之一)我可以看到可能会影响它的是,您的mail headers
中没有From:
,这可能会被忽略或发送到垃圾邮件;这是完全可能的,我以前也见过。
尝试以下添加 From:
和发送者的标题。
(在我的托管服务器上测试,并发送到收件箱)
<?php
if(isset($_POST['send']))
// Prepare the email
$to = 'someone@example.com';
$name = $_POST['name'];
$mail_from = $_POST['email'];
$subject = 'Message sent from website';
$message = $_POST['message'];
$header = "From: $name <$mail_from>";
// Send it
$sent = mail($to, $subject, $message, $header);
if($sent)
echo 'Your message has been sent successfully!';
else
echo 'Sorry, your message could not send.';
?>
【讨论】:
以上是关于如何使用表单(html)和php发送消息来发送消息?的主要内容,如果未能解决你的问题,请参考以下文章