一直试图让这个工作并从网站发送到我的电子邮件,但电子邮件还没有通过。
这可能非常简单。我还阻止了我的实际发送电子邮件(两个区域)
感谢您的帮助!
我在index.php中的php代码
<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","465");
$mail_to = 'coverupemail@email.com';
$subject = 'Message from a portfolio visitor '.$field_name;
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;
$headers = 'From: '.$email."\r\n";
$headers .= 'Reply-To: '.$email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Thank you for the message.');
window.location = 'index.html';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Message failed. Please, send an email manually to coverupemail@email.com');
window.location = 'index.html';
</script>
<?php
}
?>
我的HTML代码链接到index.php
<form method="post" action="index.php">
<p class="contact">
<input type="text" name="name" id="name" value="" size="22" />
<label for="name"><small>Name (required)</small></label>
</p>
<p class="contact">
<input type="email" name="email" id="email" value="" size="22" />
<label for="email"><small>Mail (required)</small></label>
</p>
<p class="contact">
<textarea name="message" id="message" value="" rows="10"></textarea>
<label for="message"><small>Message (required)</small></label>
</p>
<p class="contact">
<input id="submit" name="submit" type="submit" value="Submit" />
<input name="reset" type="reset" id="reset" tabindex="5" value="Reset Form" />
</p>
</form>
答案 0 :(得分:0)
$ mail_status值是多少?即使它的“1”它也不能保证发送邮件:(然后它取决于服务器PHP在消息被移交给服务器的邮件发送部分时返回1。
案例1:如果脚本在服务器上运行,那么尝试使用示例代码验证实际邮件是否已发送,使用以下代码创建页面mailtest.php
<?php mail("coverupemail@email.com","Test Msg","Hello this is just test message");?>
这将验证是否正常工作。
案例2:如果您正在使用本地主机,那么您必须拥有一些SMTP服务器或邮件服务器,以便您可以使用gmail通过您的本地主机发送(我这样做,我使用我的Gmail帐户)
另请参阅此链接Email sending
顺便说一句
一个。 ini_set()我认为没有使用。
湾如果此人导航回来,window.location = 'index.html';
也只会导航到索引页面wat?可能会再次发送邮件...所以我建议使用
location.replace('index.html');
THX