在 PHP 中使用邮件表单发送电子邮件
本教程将演示安装 sendmail
库并通过 PHP 邮件表单发送电子邮件。
安装 sendmail
以在本地服务器上从 PHP 发送电子邮件
PHP 有一个内置函数 mail()
来发送电子邮件。但是,在你安装它的库之前,此功能将不起作用。
要安装 sendmail
,请按照以下步骤操作。
-
下载并提取
sendmail
。从这里下载
sendmail
。然后将 zip 文件解压缩到C:\sendmail\
。 -
配置
sendmail.ini
。现在,从主
sendmail
文件夹中打开sendmail.ini
。搜索并设置如下配置。smtp_server=smtp.gmail.com smtp_port=587 auth_username=The_email_from@gmail.com auth_password=Email Password force_sender=your_address@gmail.com
此设置用于通过 Gmail 发送电子邮件,你也可以从其他人或你的服务器发送电子邮件。
需要在这些参数中进行设置。
auth_username
和auth_password
将是你要发送电子邮件的电子邮件和密码。 -
配置
php.ini
。要进行配置,请打开
php.ini
文件并搜索sendmail_path
。然后将此参数设置为C:\sendmail\sendmail.exe -t
。; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path ="C:\sendmail\sendmail.exe -t"
重新启动本地服务器,就完成了。
-
测试发送电子邮件。
你可以发送一封带有简单的一行代码的电子邮件进行测试,如下所示。
<?php mail("example@hotmail.com","Test subject", "This is a test Email"); ?>
输出:
如你所见,输出是发送到指定地址的邮件。
在 PHP 中使用邮件表单创建和发送电子邮件
首先,你必须创建一个 HTML 表单以将电子邮件数据发送到 PHP 代码。使用 mail()
函数使用该数据发送电子邮件。
例子:
<?php
if(isset($_POST['submit']))
{
$email_address = $_POST['email_address'];
$subject = "This is a test email";
$email_message = "The following message is sent in email:" . "\n\n" . $_POST['email_message'];
mail($email_address,$subject,$email_message);
echo "Email sent to ".$email_address;
// You can also use header('Location: thank_you.php'); to redirect to another page.
}
?>
<!DOCTYPE html>
<head>
<title>PHP Mail Form</title>
</head>
<body>
<form action="" method="post">
Email: <input type= "email" name= "email_address"><br>
Message:<br> <textarea rows= "10" name= "email_message" cols= "50"> </textarea> <br>
<input type= "submit" name= "submit" value= "Send Email">
</form>
</body>
</html>
输出:
Email sent to example@outlook.com
上面的代码生成了一个带有 email
和 message
框的表单。然后,代码将消息框中写入的内容发送到电子邮件字段中给出的电子邮件地址。
姓名、姓氏和日期等其他字段也可以添加到表单中,以发送包含更多信息的电子邮件。
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook