在 PHP 中使用邮件表单发送电子邮件

Sheeraz Gul 2023年1月30日 2022年5月13日
  1. 安装 sendmail 以在本地服务器上从 PHP 发送电子邮件
  2. 在 PHP 中使用邮件表单创建和发送电子邮件
在 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_usernameauth_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

PHP 使用邮件表单发送电子邮件

上面的代码生成了一个带有 emailmessage 框的表单。然后,代码将消息框中写入的内容发送到电子邮件字段中给出的电子邮件地址。

姓名、姓氏和日期等其他字段也可以添加到表单中,以发送包含更多信息的电子邮件。

Author: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

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

相关文章 - PHP Email