У меня есть форма, которая содержит 4 вопроса, да или нет может быть выбран для каждого вопроса. Когда форма отправлена, я хочу отправить один адрес электронной почты с помощью PHPMailer. Есть 7 человек, которые, возможно, должны быть cc'd, но только, если да, для ответа на вопрос, который относится к ним.PHP-форма отправляет письма различным получателям на основе да или нет переменных
Вопрос 1: Если да, куб.см recipient1
Вопрос 2: Если да, куб.см recipient2, recipient3
Вопрос 3: Если да, куб.см recipient4, recipient5, recipient6, recipient7
Вопрос 4: Если да, cc recipient6, recipient7
В настоящее время я использую инструкцию switch, которая работает, но я имеют в общей сложности 16 случаев. Есть ли более простой способ сделать это, о котором я не думаю?
switch (true) {
case ($Question1 === 'Yes' and $Question2 === 'Yes' and $Question3 === 'Yes' and $Question4 === 'Yes'):
sendmail('[email protected]', '[email protected]', '[email protected]', '[email protected]', '[email protected]@goodwin.edu', '[email protected]', '[email protected]');
break;
case ($Question1 === 'Yes' and $Question2 === 'Yes' and $Question3 === 'Yes' and $Question4 === 'No'):
sendmail('[email protected]', '[email protected]', '[email protected]', '[email protected]', '[email protected]@goodwin.edu', '[email protected]', '[email protected]');
break;
case ($Question1 === 'Yes' and $Question2 === 'Yes' and $Question3 === 'No' and $Question4 === 'Yes'):
sendmail('[email protected]', '[email protected]', '[email protected]', '[email protected]', '[email protected]');
break;
case ($Question1 === 'Yes' and $Question2 === 'Yes' and $Question3 === 'No' and $Question4 === 'No'):
sendmail('[email protected]', '[email protected]', '[email protected]');
break;
case ($Question1 === 'Yes' and $Question2 === 'No' and $Question3 === 'Yes' and $Question4 === 'Yes'):
sendmail('[email protected]', '[email protected]', '[email protected]@goodwin.edu', '[email protected]', '[email protected]');
break;
case ($Question1 === 'Yes' and $Question2 === 'No' and $Question3 === 'Yes' and $Question4 === 'No'):
sendmail('[email protected]', '[email protected]', '[email protected]@goodwin.edu', '[email protected]', '[email protected]');
break;
case ($Question1 === 'Yes' and $Question2 === 'No' and $Question3 === 'No' and $Question4 === 'Yes'):
sendmail('[email protected]', '[email protected]', '[email protected]');
break;
case ($Question1 === 'Yes' and $Question2 === 'No' and $Question3 === 'No' and $Question4 === 'No'):
sendmail('[email protected]');
break;
case ($Question1 === 'No' and $Question2 === 'Yes' and $Question3 === 'Yes' and $Question4 === 'No'):
sendmail('[email protected]', '[email protected]', '[email protected]', '[email protected]@goodwin.edu', '[email protected]', '[email protected]');
break;
case ($Question1 === 'No' and $Question2 === 'Yes' and $Question3 === 'No' and $Question4 === 'Yes'):
sendmail('[email protected]', '[email protected]', '[email protected]', '[email protected]');
break;
case ($Question1 === 'No' and $Question2 === 'Yes' and $Question3 === 'No' and $Question4 === 'No'):
sendmail('[email protected]', '[email protected]');
break;
case ($Question1 === 'No' and $Question2 === 'Yes' and $Question3 === 'Yes' and $Question4 === 'Yes'):
sendmail('[email protected]', '[email protected]', '[email protected]', '[email protected]@goodwin.edu', '[email protected]', '[email protected]');
break;
case ($Question1 === 'No' and $Question2 === 'No' and $Question3 === 'Yes' and $Question4 === 'Yes'):
sendmail('[email protected]', '[email protected]@goodwin.edu', '[email protected]', '[email protected]');
break;
case ($Question1 === 'No' and $Question2 === 'No' and $Question3 === 'Yes' and $Question4 === 'No'):
sendmail('[email protected]', '[email protected]@goodwin.edu', '[email protected]', '[email protected]');
break;
case ($Question1 === 'No' and $Question2 === 'No' and $Question3 === 'No' and $Question4 === 'Yes'):
sendmail('[email protected]', '[email protected]');
break;
case ($Question1 === 'No' and $Question2 === 'No' and $Question3 === 'No' and $Question4 === 'No'):
sendmail();
break;
default:
sendmail();
}
function sendmail($cc, $cc2, $cc3, $cc4, $cc5, $cc6, $cc7){
$mail = new PHPMailer;
more PHPMailer code here
}
Создайте вместо этого массив писем. Тогда вам нужно только 4 условных выражения. Отправьте электронное письмо после создания массива. –