繁体   English   中英

如何使用 php 通过邮件提交联系表?

[英]How do I submit a contact form in mail using php?

嘿,我希望我的联系人提交到我的 cpanel 邮件 ID 我尝试了很多代码,但它不起作用唯一有效的代码是

<?php

$sender = 'bla@example.ae';
$recipient = 'bla@example.ae';

$subject = "php mail test";
$message = "You have received a new message from the user $name." .
    "Here is the message:\n $message" .
    "Here is the mail:\n $email" .
    $headers = 'From:' . $sender;
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

if (mail($recipient, $subject, $message)) {
    echo "Message accepted";
} else {
    echo "Error: Message not accepted";
}

这是唯一的邮件,而不是其他邮件,如果有人愿意发送 PHP 代码来提交表单,那就太好了

但它只发送消息而不是其他消息

您的意思是您得到的 email 正文包含单词(“您已收到... ”),除了namemessageemail部分是空白的吗?

这可能是由于您的变量声明和引用的顺序。 您必须先声明您的变量(即,为它们赋值),然后才能引用它们(即,在$message中使用它们)。

例如:

<?php

$recipient = 'bla@example.ae';
$subject = "php mail test";
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$sender = 'bla@example.ae';
// I'm assuming you're going to validate, sanitize, and escape $name, $email, and $message
$message = "You have received a new message from the user {$name}.\n" .
    "Here is the mail:\n {$email}\n" .
    "Here is the message:\n {$message}";
$headers = "From: $sender";

if (mail($recipient, $subject, $message, $headers)) {
    echo "Message accepted";
} else {
    echo "Error: Message not accepted";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM