嗨,我在博客上找到了这个PHP脚本
<?php
if(isset($_POST['submit'])) {
$to = "youremail@gmail.com";
$subject = "Forms";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];
$body = "From: $name_field'n E-Mail: $email_field'n Message:'n $message";
echo "Data has been submitted to $to!";
mail($to, $subject, $body);
} else {
echo "blarg!";
}
?>
在HTML 中执行以下操作时运行
<form method="POST" action="mailer.php">
Your Name<br>
<input type="text" name="name" size="19"><br>
<br>
Your Email<br>
<input type="text" name="email" size="19"><br>
<br>
Message<br>
<textarea rows="9" name="message" cols="30"></textarea>
<br>
<br>
<input type="submit" value="Submit" id="submitBTN" name="submit">
</form>
根据博客,我所要做的就是把html和php文件放在我的网络服务器上(我没有,所以我不能测试它)。它会向$to中指定的电子邮件发送电子邮件吗?我从来没有使用过PHP,但这并没有真正的意义,因为一旦它在网上,它就可以给别人发电子邮件。谢谢你的解释/如果这个脚本能直接运行的话!
理论上这应该可行,但您必须配置PHP才能使用电子邮件服务器。我建议使用类似PHPMailer的东西来发送电子邮件,这是我一直在做的;密码和电子邮件端口,与您的电子邮件客户端相同。
以下是有关在PHPMailer中使用Gmail的信息链接。
这个片段(取自PHPMailer自述文件)显示了如何配置服务器:
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'user@example.com'; // SMTP username
$mail->Password = 'secret'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
现在,您可以为电子邮件的来源和收件人配置标题信息:
$mail->setFrom('from@example.com', 'Mailer');
$mail->addAddress('joe@example.net', 'Joe User'); // Add a recipient
$mail->addAddress('ellen@example.com'); // Name is optional
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');
你甚至可以在电子邮件中添加附件:
$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true); // Set email format to HTML
最后,我们将主题和正文放入电子邮件中:
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
现在,我们发送电子邮件:
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
您需要在服务器上设置一个邮件服务器才能发送电子邮件。
不过,不确定PHP需要在哪里指定。。
看看这里:examplep 中的php邮件设置
(链接中提到的Xampp是一个充当服务器的程序,这样人们就可以在线查看您的网页)
Xampp:https://www.apachefriends.org/index.html
我很久以前也做过同样的任务。我通过XAMPP(php和apache)和gmail完成了这项工作。在这里你可以找到一个完整的解释视频。