Sicherheitsupdates: Kritische Lücken bedrohen Cisco Expressway Series

heise online Newsticker - 8. Februar 2024 - 11:40

Der Netzwerkausrüster Cisco hat seine Kollaborationssoftware Expressway Series abgesichert. Außerdem haben sie die ClamAV-Komponente gepatcht.

IAEA: Kampfhandlungen am AKW Saporischschja haben abgenommen

heise online Newsticker - 8. Februar 2024 - 11:22

Der Chef der internationalen Atomaufsicht hat zum vierten Mal das von Russland besetzte AKW Saporischschja inspiziert.

FDP bremst bei CO₂-Standard für Lkw wegen E-Fuels: Kanzleramt will vermitteln

heise online Newsticker - 8. Februar 2024 - 11:17

Die Koalition ist uneins über strengere EU-Verbrauchsvorgaben für Lkw. Zur Vermittlung sucht das Kanzleramt nun das Gespräch mit Ministerien und Autobranche.

"Suicide Squad – Kill the Justice League": Superkiller mit Ladehemmung​

heise online Newsticker - 8. Februar 2024 - 11:14

Action ohne Abwechslung. "Suicide Squad: Kill the Justice League" von Rocksteady sieht toll aus, bleibt aber spielerisch enttäuschend.​

heise-Angebot: iX-Workshop: Geschäftsprozesse optimieren durch Datenanalyse mit Process Mining

heise online Newsticker - 8. Februar 2024 - 11:00

Mit den Analysetechniken der Process-Mining Geschäftsabläufe durchleuchten, Engpässe erkennen und Geschäftsprozesse effizienter gestalten. 10% Rabatt bis 21.02.

Januar 2024 war der wärmste jemals gemessene Januar

heise online Newsticker - 8. Februar 2024 - 10:57

Der Januar 2024 war laut dem Klimawandeldienst Copernicus um 0,7 °C wärmer als die Durchschnittstemperatur im Referenzzeitraum.

"Unterhaltungsuniversum": Disney steckt 1,5 Milliarden Dollar in Epic Games

heise online Newsticker - 8. Februar 2024 - 10:49

Über eine Investition von 1,5 Milliarden US-Dollar will Disney mit Epic ein "Unterhaltungsuniversum" schaffen. Einen ähnlichen Vertrag hat Disney mit Lego.

Adaptives Lernen: Roboter kriegt (fast) jede Tür auf

heise online Newsticker - 8. Februar 2024 - 10:46

Das Öffnen beliebiger Türen ist für einen Roboter eine Herausforderung. Er kann es aber selbstständig erlernen.

Flughafen Berlin: Zoll erwischt Vision-Pro-Käufer – und zieht die Headsets ein

heise online Newsticker - 8. Februar 2024 - 10:41

Seit Samstag haben die Zollbehörden an deutschen Flughäfen vermehrt mit Apple-Fans zu tun, die ihre Vision Pro nicht anmelden. Das kann schmerzhaft werden.

Disney geht ab Sommer gegen Account-Sharing vor

heise online Newsticker - 8. Februar 2024 - 10:06

Untersagt ist Account-Sharing bei Disney+ bereits. Ab Sommer will das Unternehmen auch aktiv dagegen vorgehen – und Zusatzmitglieder nur gegen Geld erlauben.

E-Leichtkraftrad Cineco E-RX1: Elektro-Einspur-SUV

heise online Newsticker - 8. Februar 2024 - 9:16

Die elektrische Cineco E-RX1 wirkt wie eine Reiseenduro, soll laut Hersteller 130 km/h und 200 km weit fahren. Es hapert allerdings in einigen Details.

heise-Angebot: iX-Workshop: KRITIS-Schutz nach § 8a BSIG – Kompetenz im Prüfverfahren

heise online Newsticker - 8. Februar 2024 - 9:00

Erlangen Sie spezielle Prüfverfahrenskompetenz für § 8a BSIG; inklusive Abschlussprüfung und Zertifizierung. (Frühbucherrabatt bis 20.02.)

GUV statt SUV

heise online Newsticker - 8. Februar 2024 - 8:30

Die Debatte um SUV verzettelt sich schnell in Definitionsfragen. Ein neuer Begriff muss her. Hier ein paar Vorschläge.

Bluesky wächst um 850.000 Nutzer am ersten Tag nach Öffnung

heise online Newsticker - 8. Februar 2024 - 8:20

Bluesky legt am ersten Tag nach seiner Öffnung für alle ein ordentliches Wachstum hin. Ohne technische Probleme ging das jedoch nicht vonstatten.

Schlaf- und Traumphasen sollen der KI beim Lernen helfen

heise online Newsticker - 8. Februar 2024 - 8:00

Analog zum menschlichen Gehirn haben Forschende ein KI-Modell in gezielten Schlaf- und Wachphasen trainiert. Lernt es dadurch effizienter?

Donnerstag: Intel unterliegt Patentklage, Disney+ gegen Account-Sharing in USA

heise online Newsticker - 8. Februar 2024 - 7:30

Patenttroll gegen Intel-CPUs + Disney-Restriktionen in den USA + Urteil zu Facebook-Sperren + Uber erstmals mit Jahresgewinn + #heiseshow zu Apples Vision Pro

Verkaufsverbot für ältere Intel-Prozessoren in Deutschland​

heise online Newsticker - 8. Februar 2024 - 5:33

Spannungsregler in älteren Intel-CPUs sollen ein US-Patent verletzen. Ein deutsches Gericht verhängt ein Verkaufsverbot.​

Facebook: Oberlandesgericht untersagt Meta kafkaeske Kontosperren​

heise online Newsticker - 8. Februar 2024 - 0:20

Meta darf Konten nur mit Nachweis eines wichtigen Grundes sofort sperren. Das OLG Dresden verlangt Abwägung mit Grundrechten.​

Uber legt alle 8 Stunden 1 Million Dollar in den Geldspeicher

heise online Newsticker - 7. Februar 2024 - 23:11

Uber vermittelt mehr Fahrten, macht mehr Umsatz und erstmals auch Betriebsgewinn in einem Kalenderjahr. Der Geldvorrat gedeiht.​

PreviousNext: Handling Emails Asynchronously: Integrating Symfony Mailer and Messenger

Planet Drupal - 7. Februar 2024 - 21:54

Take advantage of Symfony Mailer’s first-class integration with Symfony Messenger brought to Drupal via the SM project, allowing your site to send emails asynchronously.

by daniel.phin / 8 February 2024

This post is part 6 in a series about Symfony Messenger.

  1. Introducing Symfony Messenger integrations with Drupal
  2. Symfony Messenger’ message and message handlers, and comparison with @QueueWorker
  3. Real-time: Symfony Messenger’ Consume command and prioritised messages
  4. Automatic message scheduling and replacing hook_cron
  5. Adding real-time processing to QueueWorker plugins
  6. Making Symfony Mailer asynchronous: integration with Symfony Messenger
  7. Displaying notifications when Symfony Messenger messages are processed
  8. Future of Symfony Messenger in Drupal

Since Swift Mailer and its Drupal contrib integration were recently deprecated, many projects have naturally switched to its replacement: Symfony Mailer, either via Drupal Symfony Mailer or Drupal Symfony Mailer Lite.

This post outlines how you can take advantage of Symfony Mailer’s first class integration with Symfony Messenger brought to Drupal via the SM project. This integration allows for dispatching emails off-thread, potentially improving performance of the dispatching (usually web-) thread by offloading email-related tasks to dedicated Symfony Messenger workers. This setup can be considered an alternative to using Queue Mail.

Setup

As of writing, of the two Symfony Mailer implementations in contrib, Drupal Symfony Mailer Lite has built in support for Symfony Messenger. Drupal Symfony Mailer does not yet support it, an issue and merge request exist to add it. Apply a patch until the changes are merged.

Symfony Messenger itself does not require any special configuration, other than installing SM.

To run asynchronously, the \Symfony\Component\Mailer\Messenger\SendEmailMessage message must have routing configuration to a transport. Or at least the fallback transport must be configured. Without transport configuration, Emails will still be dispatched through Messenger, however they will be executed synchronously in the same thread they were dispatched.

Opting out

If you happen to have both Symfony Mailer and Symfony Messenger installed but do not want emails to be sent asynchronously, you can configure routing for the \Symfony\Component\Mailer\Messenger\SendEmailMessage message to instead use the synchronous transport.

If you’re using the SM Config submodule:

Sending emails and dispatching emails

Emails may be dispatched using the usual Drupal mechanism, or you can dispatch using Symfony Mailer directly by constructing an email object:

$email = (new \Symfony\Component\Mime\Email()) ->to('jane@example.com') ->from('john@example.com') ->subject('Hello world!') ->text('Some sample text.') ->html('<p>some <strong>sample</strong> text.</p>'); /** @var \Symfony\Component\Mailer\MailerInterface $mailer */ $mailer = \Drupal::service(\Symfony\Component\Mailer\MailerInterface::class); $mailer->send($email);

After the send method is executed, Mailer checks Messenger is available, creates a new SendEmailMessage message to wrap the \Symfony\Component\Mime\Email object. Then dispatches SendEmailMessage to the messenger bus.

As is typical with Symfony Messenger, email messages must be serialisable. Avoid including any Drupal entities or service references in an email object, and render email contents before sending it.

Processing emails

To process email messages, run the worker with sm messenger:consume. This command will either listen or poll for messages and execute them in a dedicated thread, ensuring quick processing after they are dispatched. For more information on the worker, please refer to post 3 of this series.

In the next post, we’ll explore how to add a user interface to notify users when relevant tasks have been processed.

Tagged Symfony, Symfony Messenger, Symfony Mailer, Email