通过多个电子邮件地址发送邮件



我有一个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);
}

我不确定为什么我没有收到任何电子邮件。我没有收到任何错误。

提前致谢

根据您的输入框名称是电子邮件。

<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);
}

要发送给多个收件人,您可以发送单独的电子邮件,在邮件构造中使用CCBCC标头,或者将多个电子邮件地址连接成逗号分隔的字符串。

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: %srn"
$from
);
$status=@mail( $to, $subject, $message, $headers );
}
}
?>
<form method='post'>
<input type='text' name='email' placeholder='Email *' required>
<input type='submit' />
</form>

最新更新