Ich muss Hunderte von E-Mails mit unterschiedlichen Anmeldeinformationen von Laravel senden. Jeder Kunde von mir hat seine/ihre Mail-Liste und muss seinen eigenen SMTP-Server bereitstellen. Ich verarbeite diese Liste und sende E-Mails im Auftrag des Kunden.Senden von Massen-E-Mails mit unterschiedlichen Anmeldeinformationen
Das ist was ich bisher habe. Es funktioniert, aber es ist sehr langsam und ich habe bisher nicht viele E-Mails. Ich sehe ein Problem, wenn ich mehr E-Mails bekomme. Irgendwelche Vorschläge zur Verbesserung?
PS- Ich benutze Cron Console Command und verwenden Sie Kernel, um den Job zu planen.
public function sendMailings($allMailings) {
foreach ($allMailings as $email) {
Config::set('mail.host', $email['smtpServer']);
Config::set('mail.port', $email['smtpPort']);
Config::set('mail.username', $email['smtpUser']);
Config::set('mail.password', $email['smtpPassword']);
Config::set('mail.encryption', $email['smtpProtocol']);
Config::set('mail.frommmail', trim($email['fromEmail']));
Config::set('mail.fromuser', trim($email['fromUser']));
Config::set('mail.subject', trim($email['subject']));
Config::set('mail.toEmail', trim($email['toEmail']));
Config::set('mail.toName', trim($email['toName']));
Config::set('mail.pretend', false);
$email_body = $email['emailBody'];
Mail::send('emails.availability, compact('email_body')
, function($message) {
$message->from(config('mail.username'), config('mail.fromUser'));
$message->replyTo(config('mail.frommmail'), config('mail.fromUser'));
$message->to(config('mail.toEmail'), config('mail.toName'))->subject(config('mail.subject'));
});
Log::info('Mail was sent');
}
}
Sorry, ich laufe es bereits über den Befehl cron-Konsole über Kernel – Andrew
@ Andrew Hier interessante Antwort http: // Stackoverflow. com/a/26323505/706466 (Reihenfolge nach Domäne, und die Verbindung aufrecht zu erhalten) –
@Andrew Ich denke, noch Warteschlangen Nachrichten können Sie sie auf eine asynchrone Weise (schneller) ausführen lassen (vielleicht mit diesem https://github.com/barryvdh/Laravel-Async-Queue) –