您好我在博客上找到了这个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,但是如果能够在网络上发送电子邮件,它就没有多大意义。感谢您的解释/如果这个脚本可以直接使用!
答案 0 :(得分:1)
理论上这应该可行,但您必须配置PHP才能使用您的电子邮件服务器。我建议使用像PHPMailer之类的东西来发送电子邮件,这就是我一直以来所做的事情。 PHPMailer允许您指定您的IMAP / POP3电子邮件服务器主机,用户名和&amp;密码和电子邮件端口,与您的电子邮件客户端相同。
以下是link有关在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';
}
答案 1 :(得分:0)
您需要在服务器上设置邮件服务器才能发送电子邮件。
不知道在哪里需要指定这个,但PHP要使用..
(链接中提到的Xampp是一个充当服务器的程序,以便人们可以在线查看您的网页)
答案 2 :(得分:0)
很久以前我做了同样的任务。 我通过XAMPP(php和apache)和gmail完成了这个。 在这里,您可以找到video并附上完整的解释。