[英]How to send an E-Mail with PHP?
我对PHP不太熟悉,因此尝试在页面上实现一个简单的邮件脚本。 但是似乎什么也没发生。 我所在的服务器绝对支持PHP。 除了上传文件,我还需要做其他事情吗?
因此,我有了我的contact.php,并且其中只有<head>部分中带有<?php?>标记的普通HTML代码。
它是这样的:
<?php
// Ausführen wenn Formular gesendet
if (isset($_POST["submit"]))
{
// Sammeln der Formulardaten
$an = "MYMAILADRESS@outlook.com";
$name = $_POST['name'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
// Mailheader UTF-8 fähig machen
$mail_header = 'From:' . $email . "\n";
$mail_header .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";
// Nachrichtenlayout erstellen
$message = "
Name: $name\n
Email: $email\n
Nachricht: $nachricht\n
";
// Verschicken der Mail
mail($an, $betreff, $message, $mail_header );
};
?>
当然,我有意更改了“ MYMAILADRESS”。 HTML表单如下所示:
<form id="form" action="thank_you.html" method="post">
<label for="name">Name:</label>
<input id="name" name="name" type="text" /><br />
<label for="email">E-Mail: *</label>
<input id="email" name="email" type="text" /><br />
<label for="betreff">Betreff:</label>
<input id="betreff" name="betreff" type="text" /><br />
<label for="nachricht">Nachricht: *</label>
<textarea id="nachricht" name="nachricht"></textarea><br />
<p class="fussnote">* kennzeichnet Pflichtfelder</p>
<input id="submit" name="submit" type="submit" value="Absenden" />
</form>
如果有人可以帮助我,那就太好了! :)
该action
的形式指向一个可能是由一个解析的URL .html
文件。 大多数支持PHP的Web服务器未配置为通过PHP处理器运行.html
文件。 请改用.php
扩展名。
您提供的代码应该可以使用,但是要注意,您可能会遭受潜在的黑客攻击。
PHP的mail()
函数毫不费力地清理了收到的输入。 这将有可能为你的访问者发送from
地址与换行符,并且为了从您的网站发送垃圾邮件添加各种附加的邮件标题(如CC或BCC)。
清理输入是相对容易的,但是即使那样,您仍然会感到mail()
函数的使用不是很容易-您最终将获得大量的代码,而功能却很少。
因此,我总是建议您使用第三方邮件库。 PHP有几个不错的选择。 我的首选是phpMailer 。 下载此PHP脚本,将其包含在您的网站中,并按照有关如何使用它发送邮件的说明进行操作-您会发现它比mail()
函数更容易使用,并且您不需要担心黑客攻击,因为它可以为您完成所有输入清除工作。
希望能有所帮助。
这是你的问题
因此,我有了我的contact.php,并且其中只有<head>部分中带有<?php?>标记的普通HTML代码。
将PHP代码(inc标签)移到HTML正文标签中。
另外,将表单操作更改为.php文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.