我有一个HTML
表单,客户可以在其中提交表单,该表单应该同时出现在我的电子邮件和客户邮件中。
这是表格的一部分:
<form action="" method="post" id="formName">
<input type="text" name="client_email" placeholder="Email *" required>
<button type="submit" name="submit">Submit</button>
</form>
这是PHP的一部分:
if (isset($_POST['submit'])) {
$client_email = $_POST['client_email'];
$mail_to = array(
'my_email@test.com',
$client_email
);
mail(implode(', ', $mail_to), $subject, $body, $header);
}
我不确定为什么我没有收到任何电子邮件。我没有任何错误。
预先感谢
答案 0 :(得分:1)
根据您输入框的名称是电子邮件。
<form action="" method="post" id="formName">
<input type="text" name="email" placeholder="Email *" required>
<button type="submit" name="submit">Submit</button>
</form>
所以您必须在php代码中使用相同的名称。
$client_email = $_POST['email'];
使用此代码。
if (isset($_POST['submit'])) {
$client_email = $_POST['email'];
$mail_to = array(
'my_email@test.com',
$client_email
);
mail(implode(', ', $mail_to), $subject, $body, $header);
}
答案 1 :(得分:0)
要发送给多个收件人,您可以发送单独的电子邮件,可以在消息的构造中使用CC
或BCC
标头,或将多个电子邮件地址连接成一个逗号分隔的字符串。
没有必要显示FROM
字段,但是您应该这样做,以帮助避免将电子邮件分类为垃圾邮件。
<?php
if( $_SERVER['REQUEST_METHOD'=='POST' && !empty( $_POST['email'] ) ){
$email=filter_var( filter_input( INPUT_POST, 'email', FILTER_SANITIZE_EMAIL ), FILTER_VALIDATE_EMAIL );
if( $email ){
$from='webmaster@domain.com';
$subject='A monkey stole my banana';
$message=implode( PHP_EOL, $_POST );
$to=implode(',', array(
'my_email@test.com', $email
));
$headers=sprintf(
"From: %s\r\n"
$from
);
$status=@mail( $to, $subject, $message, $headers );
}
}
?>
<form method='post'>
<input type='text' name='email' placeholder='Email *' required>
<input type='submit' />
</form>