Am trying to send bulk email from my laravel project sing PHPMailer, I get the emails from the select option in blade:
<form action="{{url('send/bulk/email')}}" method="post">
@csrf
<select name="recipient[]" multiple data-mdb-filter="true" >
<option value="[email protected]" >[email protected]</option>
<option value="[email protected]" >[email protected]</option>
<option value="[email protected]" >[email protected]</option>
<option value="[email protected]">[email protected]</option>
<option value="[email protected]" >[email protected]</option>
<option value="[email protected]" >[email protected]</option>
</select>
</form>
In Controller
public function sendBulkEmail(Request $request){
try {
$recipients = explode(',', $request->recipient);
$mail = new PHPMailer(true);
//Server settings
$mail->setFrom('[email protected]', 'Sender');
foreach ($recipients as $recipient) {
$mail->addAddress($recipient);
}
$mail->addReplyTo('[email protected]', 'Information');
$mail->isHTML(true);
$mail->Subject = 'Request';
$mail->Body = 'this test message';
}
}
My error
explode(): Argument #2 ($string) must be of type string, array given
The
recipientparameter in request is an array itself. You don't need to explode it.