php - PHP HTML 联系我们表单问题
问题描述
我正在使用 html (bootstrap4) 联系我们页面并尝试使其动态化。使用 pear 邮件的 php 测试脚本可以进行服务器测试。
但是,当尝试使动态和调用归档到电子邮件中时出现问题,它不起作用
任何人都可以在 php 脚本下面查看并告诉我问题出在哪里
我如何在这里调用这部分: $email_subject ?电子邮件正文?和电子邮件?
<form id="contact-form" method="post" action="test.php">
<div class="row">
<!-- Name -->
<div class="col-md-6 mb-2">
<input type="text" name="Full_Name" class="form-control" placeholder="Firstname *" required="required" data-error="Firstname is required.">
</div>
<!-- Email -->
<div class="col-md-6 mb-2">
<input type="email" name="email" class="form-control" placeholder="email *" required="required" data-error="Valid email is required.">
</div>
<!-- subject -->
<div class="col-md-12 mb-2">
<input type="text" name="subject" class="form-control" placeholder="subject *" required="required" data-error="Valid subject is required.">
</div>
<!-- Message -->
<div class="col-md-12 mb-2">
<textarea name="message" class="form-control" placeholder="Message *" rows="4" required="required" data-error="Please,leave us a message."></textarea>
</div>
<!-- Submit Button -->
<div class="col-12 text-right">
<input type="submit" class=" form-control btn btn-success btn-send" value="Send message">
</div>
</div>
</form>
<!-- Email -->
<div class="col-md-6 mb-2"> <input type="email" name="email" class="form-control" placeholder="email *" required="required" data-error="Valid email is required."> </div>
<?php
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_STRICT);
require_once "Mail/Mail-1.4.1/Mail.php";
$name = $_POST["Full_Name"];
$email = $_POST["email"];
$subject = $_POST["subject"];
$message = $_POST["message"];
$host = "*******"; <!--i will use my hosting server url-->
$username = "*******"; <!--i will use my email-->
$password = "*****"; <!--i will use here my email pss-->
$port = "2525";
$to = "******"; <!--i will use the email here-->
$email_from = "*****"; <!--how to call email from here by input that i defined above in php file->
$email_subject = "******" ; <!--how to call sujectl from here by input that i defined above in php file->
$email_body = "*****"; <!--how to call message from here by input that i defined above in php file->
$email_address = "*****";
$headers = array ('From' => $email, 'To' => $to, 'Subject' => $subject, 'Message' => $message, Reply-To' => $email_address);
$smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password));
$mail = $smtp->send($to, $headers, $email_body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>
解决方案
我对代码做了一些修改,这可能会有所帮助,如果您使用 gmail 发送电子邮件,请参阅本文的最后一点:https ://help.dreamhost.com/hc/en-us/文章/216140597-我如何发送-PHP-mail-via-SMTP-
<?php
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_STRICT);
require_once "Mail/Mail-1.4.1/Mail.php";
$name = $_POST["Full_Name"];
$email = $_POST["email"];
$subject = $_POST["subject"];
$message = $_POST["message"];
$host = "*******"; <!--i will use my hosting server url-->
$username = "*******"; <!--i will use my email-->
$password = "*****"; <!--i will use here my email pss-->
$port = "2525";
$to = "******"; <!--i will use the email here-->
$reply_to = "*****";
// Please note the change to the headers
$headers = array ('From' => $email, 'To' => $to, 'Subject' => $subject, Reply-To' => $reply_to);
$smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password));
$mail = $smtp->send($to, $headers, $message);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>
推荐阅读
- google-sheets - 获取Google表格中一列中所有非空单元格的行索引
- javascript - TypeError: u.split 不是函数
- sql-server - 无法与 docker 容器内的 SQL Server cli 交互
- javascript - 使用javascript制作嵌套无序列表
- scala - SBT 多项目构建中的 build.properties
- python-3.x - request.form.get("xxxxx") 返回无
- r - 用条件 R 绘制填充区域
- git - Github ssh-agent 无法推送
- python - 应该在哪里放置 python 脚本以从 Airflow dag 运行它?
- unity3d - 输入系统 - 如何通过索引/名称获取动作图