我接管了一家公司的网络开发,他们在几页上收到了反馈表(科罗拉多, prescott ,旗杆< / strong>和怀俄明州)使用PHPmailer将表单信息作为垃圾邮件过滤器提交给电子邮件。但是,他们并没有按照他们希望的方式接收电子邮件。除了使用 $ recipeint 的电子邮件之外,我可以通过所有addAddress电子邮件收到电子邮件。搜索并尝试了我能想到的一切,包括爆炸和 foreach 其他代码。无法使其发挥作用。一点帮助就会很棒。
$colorado = array( "ColoradoSprings", "Denver", "Boulder" );
$colorado = array_map( 'strtolower', $colorado );
$wyoming = array( "Cheyenne", "Buffalo" );
$wyoming = array_map( 'strtolower', $wyoming );
if ( in_array( $_POST[ 'location' ], $colorado ) || in_array( $_POST[ 'location' ], $wyoming ) )
$recipient = "person1@mail.com, person2@mail.com";
switch ( $_POST[ 'location' ] ) {
case "prescott":
$recipient = "person3@mail.com, person4@mail.com";
break;
case "flagstaff":
$recipient = "person3@mail.com, person4@mail.com";
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.mail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "senderemail@mail.com";
$mail->Password = "password";
$mail->setFrom( 'allmail@mail.com', 'Everyone' );
$mail->addReplyTo( $_POST[ "Email" ], $_POST[ "Name" ] );
$mail->addAddress( 'allmail@mail.com', 'Everyone' );
$mail->addAddress( 'random@mail.com', 'John Doe' );
$mail->addAddress( $recipient, 'Others' );
答案 0 :(得分:0)
这是奇怪的代码,或者不完整。目前它只会尝试发送电子邮件location == 'flagstaff'
,所以你可能需要注意你的条件。
addAddress
只接受一个地址;如果你想发送更多,请循环调用多次。例如:
$recipients = ["person1@mail.com", "person2@mail.com"];
foreach ($recipients as $recipient) {
$mail->addAddress($recipient);
}