我找到了一些与查询类似的问题,但没有一个完全符合我的情况。
我在网站的联系表单上使用了基本的mail()PHP设置,但事实证明,此设置已在我的托管服务器上被阻止,以避免垃圾邮件/滥用。
网络托管服务商建议使用SMTP作为一种解决方法,但是他们链接到的教程似乎并未为我提供可行的解决方案!
这是我的HTML:
<form action="php/mail.php" method="POST">
<p class="form-field-title">Name</p>
<input class="contact-field focus-hide" type="text" id="name" name="name" required autocomplete="off">
<p class="form-field-title">Email Address</p>
<input class="contact-field focus-hide" type="email" id="email" name="email" required autocomplete="off">
<p class="form-field-title">Phone</p>
<input class="contact-field focus-hide" type="text" id="number" name="number" autocomplete="off">
<p class="form-field-title">Message</p>
<textarea class="contact-field focus-hide" id="message" name="message" data-gramm_editor="false" required autocomplete="off"></textarea>
<input class="contact-button" type="submit" value="Send Message">
</form>
这是我原始的(非SMTP)mail.php代码:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$number = $_POST['number'];
$message = $_POST['message'];
$formcontent="Name: $name \nEmail: $email \nPhone Number: $number \nMessage: $message";
$recipient = "email@email.com";
$subject = "Website Contact Form Enquiry";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
header('Location: ../thanks.html');
exit();
?>
我有用于虚拟主机的电子邮件服务器详细信息,但是我发现的SMTP解决方案都不适合我!
有人可以帮助我吗?我已经看到了有关使用PEAR的一些信息,但是他们的网站似乎无法正常工作...?
谢谢!
答案 0 :(得分:0)
如果您的表格在电子邮件中,我认为您无法发布数据(也许我错了)。但是您可以使用get方法将其发送到脚本中。
<form action="php/mail.php" method="GET">
</form>
然后更新您的php:
<?php
$name = $_GET['name'];
$email = $_GET['email'];
$number = $_GET['number'];
$message = $_GET['message'];
$formcontent="Name: $name \nEmail: $email \nPhone Number: $number \nMessage: $message";
$recipient = "email@email.com";
$subject = "Website Contact Form Enquiry";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
header('Location: ../thanks.html');
exit();
?>
它应该完成工作。