0

我正在尝试从网页发送电子邮件,但是当我单击提交按钮时,php 代码正在打开。我已经安装了 apache 服务器并启动并运行。我不太确定我缺少什么以及如何从网页发送电子邮件。我是否还需要安装 sendmail 和 php 以使其使用 apache 服务器在本地工作。下面是我的代码。请帮忙

    <form action= "temp.php" method="post" name="sentMessage" id="contact" >
<div class="row">
<div class="col-md-6" style="margin-left:-5px;">
    <div class="input-field">
        <input type="text" name="name" class="form-control" id="name"
            required
            data-validation-required-message="Please enter your name" />
        <label for="name" class=""> Name </label>
        <p class="help-block"></p>

    </div>
    </div>
</div>
<!-- For success/fail messages -->
<button name="submit" type="submit"
    class="btn btn-primary waves-effect waves-dark pull-right">Send</button>
<br />
</form>

和php代码如下。

<?php 
if(isset($_POST['submit'])){
    $to = "xyz@gmail.com"; // this is your Email address
    $from = "abc@gmail.com"; // this is the sender's Email address
    $subject = "Form submission";
    $message = "form submission";
    $headers = "From:" . $from;
    $headers2 = "From:" . $to;
    mail($to,$subject,$message,$headers);
    echo "Mail Sent";
    }
?>
4

2 回答 2

0

试试 PHP_Mailer 库。请参阅此http://www.codesanitize.com/2021/04/send-html-email-with-attachment-using.html

于 2021-05-24T13:47:58.170 回答
0

在此处添加此答案以列出可以完成的一些事情。这绝不是关于如何设置 smtp 服务器的正确教程。它只是浏览主题以说明使用 php 发送电子邮件的基本要求。

您应该做一些事情来使设置正常工作。

  1. 您看到 php 代码作为输出。如果您没有安装 php(正如您所提到的)或者您保存了具有不同扩展名的 php 文件(如.html.txt. 因此,您需要安装 php 并确保所有带有 php 代码的文件都具有扩展名.php.
  2. 如果它仍然不起作用,请查看此清单(正如 El_vanja 在评论中提到的那样)。它应该可以帮助您对可能出现的问题进行基本的故障排除。

一旦你有 php 工作并且你开始看到 php 输出而不是代码,你将需要设置或找到一个 smtp 服务器。在此处阅读有关 smtp 服务器的更多信息

您可以自行设置 smtp 服务器,也可以使用现有的服务器(如 gmail 或 yahoo)。安装 smtp 服务器的步骤取决于您的操作系统。对于 ubuntu,您可以在此处查看,对于 Windows 服务器,您可以在此处查看。这份清单绝对不是详尽无遗的。这些旨在为您指明正确的方向。

对于 Windows 开发环境xampp,您可以使用外部 smtp 服务器。因此,您只需使用现有的 gmail 帐户对其进行配置,它就会开始发送电子邮件。您可以在此处查看他们的 windows 常见问题解答中的详细信息

一旦你有一个 smtp 服务器来发送电子邮件,你就可以sendmail在 php 中使用来发送电子邮件。

还要注意管理面向公众的 smtp 服务器会带来挑战,在没有正确理解的情况下设置服务器时应该小心。

于 2021-05-24T20:01:01.277 回答