我创建了一个HTML表单,其输入名为' name' ,'电子邮件' ,' mobile' ,'消息'。
在我用过的HTML中;
<form action='form_script.php' method='post'>
将(在提交时)发送到我的form_script.php,我的PHP 应该执行。
form_script.php
然后我创建了这个PHP脚本,它应该从表单中获取输入并发送电子邮件到&#39; enquiries@firelineband.co.uk'。
问题是,电子邮件没有发送。我已经多次检查过我的PHP脚本,但我似乎无法找到任何问题,这就是为什么我在这里发布了第二个意见。
if(isset($_POST['submit'])){
$to = "enquiries@firelineband"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$name = $_POST['name'];
$mobile = $_POST['mobile'];
$subject = $_POST['subject'];
$subject2 = "Copy of your form submission";
$message = "Name: " .$name . "\n\n mobile number: " . $mobile . ".\n\n Message:" . "\n\n" . $_POST['message'];
$message2 = "Here is a copy of your message " . $name . "\n\n" . $_POST['message'];
$headers = "From:" . $from;
$headers2 = "From:" . $to;
mail($to,$subject,$message,$headers);
mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
// You can also use header('Location: thank_you.php'); to redirect to another page.
}
提前感谢您的时间。 山姆
HTML表单
<table style='width:100%'>
<form action='form_script.php' method='post'>
<tr>
<th> <input type='text' required placeholder='Name' name='name' /> </th> <th> <input type='text' required placeholder='Email' name='email' /> </th>
</tr>
<tr>
<th> <input type='text' required placeholder='Mobile' name='mobile' /> </th> <th> <input type='text' required placeholder='Subject' name='subject' /> </th>
</tr>
<tr>
<th colspan='2'><textarea required placeholder='Message' name='message' ></textarea></th>
</tr>
<tr>
<th><input id='send_form' type='submit' /> </th>
</tr>
</form>
</table>
答案 0 :(得分:0)
如果您尝试在localhost上发送电子邮件,则应在php.ini中设置电子邮件设置,具体取决于您的ISP。
这是我国(克罗地亚)的isp名称(T-Com):
ini_set("SMTP", "mail.t-com.hr");
ini_set("smtp_port", "25");
$message = "";
if(mail('aaaa@gmail.com', 'title', $message, "From: bbbb@gmail.com"))
{
echo 'sent succesfull';
}
但它取决于isp和国家。
PS.ini_set“(”SMTP“,”mail.t-com.hr“);”和“ini_set(”smtp_port“,”25“);”可以从代码中调用或在php.ini中设置
答案 1 :(得分:0)
为什么使用标准的vanilla php mail函数()。而是切换到Mailgun或phpmailer,您可以自动加载到您的代码中并以这种方式发送邮件。它比mail()函数更快更可靠。以及使用mailgun;您可以通过该网站查看日志,看看您的邮件是否已发送100%。祝你好运
答案 2 :(得分:0)
您没有任何名称='submit'的输入。 在表单中添加
<input type="hidden" name="submit">
。
由于您的代码显示if(isset($_POST['submit']))
但未设置$_POST['submit']
。