PHP Mailer SMTP versender leere Emails
am 08.05.2024 - 14:17 Uhr in
Hallo, ich benötige Hilfe beim Email versand. Es wird stets eine leere Email ohne Betreff gesendet:
Output of communication with SMTP server:
2024-05-08 11:46:12 SERVER -> CLIENT: 220 kundenserver.de (mreue012) Nemesis ESMTP Service ready
2024-05-08 11:46:12 CLIENT -> SERVER: EHLO kalendra.net
2024-05-08 11:46:12 SERVER -> CLIENT: 250-kundenserver.de Hello kalendra.net [82.165.87.195]250-8BITMIME250-SIZE 140000000250 STARTTLS
2024-05-08 11:46:12 CLIENT -> SERVER: STARTTLS
2024-05-08 11:46:12 SERVER -> CLIENT: 220 OK
2024-05-08 11:46:12 CLIENT -> SERVER: EHLO kalendra.net
2024-05-08 11:46:12 SERVER -> CLIENT: 250-kundenserver.de Hello kalendra.net [82.165.87.195]250-8BITMIME250-AUTH LOGIN PLAIN250 SIZE 140000000
2024-05-08 11:46:12 CLIENT -> SERVER: AUTH LOGIN
2024-05-08 11:46:12 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2024-05-08 11:46:12 CLIENT -> SERVER: [credentials hidden]
2024-05-08 11:46:12 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2024-05-08 11:46:12 CLIENT -> SERVER: [credentials hidden]
2024-05-08 11:46:12 SERVER -> CLIENT: 235 Authentication succeeded
2024-05-08 11:46:12 CLIENT -> SERVER: MAIL FROM:
2024-05-08 11:46:12 SERVER -> CLIENT: 250 Requested mail action okay, completed
2024-05-08 11:46:12 CLIENT -> SERVER: RCPT TO:
2024-05-08 11:46:12 SERVER -> CLIENT: 250 OK
2024-05-08 11:46:12 CLIENT -> SERVER: DATA
2024-05-08 11:46:12 SERVER -> CLIENT: 354 Start mail input; end with .
2024-05-08 11:46:12 CLIENT -> SERVER: Date: Wed, 8 May 2024 11:46:12 +0000
2024-05-08 11:46:12 CLIENT -> SERVER: To: ruben2024@gmx.de
2024-05-08 11:46:12 CLIENT -> SERVER: From: KALENDRA
2024-05-08 11:46:12 CLIENT -> SERVER: Reply-To: Kalendra
2024-05-08 11:46:12 CLIENT -> SERVER: Subject:
2024-05-08 11:46:12 CLIENT -> SERVER: Message-ID:
2024-05-08 11:46:12 CLIENT -> SERVER: X-Mailer: PHPMailer 6.9.1 (https://github.com/PHPMailer/PHPMailer)
2024-05-08 11:46:12 CLIENT -> SERVER: sender: info@kalendra.net
2024-05-08 11:46:12 CLIENT -> SERVER: MIME-Version: 1.0
2024-05-08 11:46:12 CLIENT -> SERVER: Content-Type: text/plain; format=flowed; delsp=yes; charset=UTF-8
2024-05-08 11:46:12 CLIENT -> SERVER: Content-Transfer-Encoding: 8Bit
2024-05-08 11:46:12 CLIENT -> SERVER:
2024-05-08 11:46:12 CLIENT -> SERVER:
2024-05-08 11:46:12 CLIENT -> SERVER:
2024-05-08 11:46:12 CLIENT -> SERVER: .
2024-05-08 11:46:12 SERVER -> CLIENT: 250 Requested mail action okay, completed: id=1MuF4v-1suAXZ1KhR-00ua7l
2024-05-08 11:46:12 CLIENT -> SERVER: QUIT
2024-05-08 11:46:12 SERVER -> CLIENT: 221 kundenserver.de Service closing transmission chann
Mittwoch, 8. Mai 2024 - 11:46
Benutzer Gast (nicht überprüft)
Standort https://kalendra.net/registerpartnersave
Referrer https://kalendra.net/partner/register
Nachricht Sending email with body: Hallo Ruben, Thank you for registering at Kalendra.
email = $user->getEmail();
$firstname = $user->get('field_user_firstname')->value;
$body = "Hallo $firstname, \n\n";
$body .= "Thank you for registering at Kalendra.";
\Drupal::logger('contentsave_manager')->notice('Sending email with body: ' . $body);
// Konfiguration und Senden der E-Mail
$message = [
'subject' => '
Deine Registrierung bei Kalendra
'body' => $body,
'headers' => [
'Content-Type' => 'text/html; charset=UTF-8'
]
];
$module = 'contentsave_manager';
$key = 'registration_email22';
$result = \Drupal::service('plugin.manager.mail')->mail($module, $key, $email, NULL, $message, NULL);
if ($result['result'] !== true) {
\Drupal::logger('my_module')->error('Failed to send email. Error: ' . print_r($result, true));
return "Failed to send email.";
}
\Drupal::logger('contensave_manager')->notice('Sending email with details: ' . print_r($message, true));
return "ok";
}
vielen Dank für eure Hilfe
- Anmelden oder Registrieren um Kommentare zu schreiben
Email Parameter
am 23.05.2024 - 09:55 Uhr
Hast du mal deine Parameter geprüft?
Wird das subject in der Email angezeigt?
ggf könntest du "message" statt "body" mal testen
Laut Drupal API sieht das sonst aber schon ganz gut aus: https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Mail%21Ma...
Weitere Idee:
Teste mal einen einfachen String in $body, da in deinem jetzigen Sonderzeichen sind, die vllt zu Probleme führen können.
Eigene Mail-Funktionen sind oft etwas hakelig
am 25.05.2024 - 15:41 Uhr
Hallo,
das mag an dem fehlenden Code-Tag liegen, aber wird der $message['message'] mit Leerzeilen übergeben? Das würde ich als erstes mal zu einem "Einzeilen"-String machen, wenn mein Eindruck stimmt.
Auch wenn das nicht der entscheidende Part sein wird, wird der "headers" parameter bei der Übergabe an den Service nicht ausgewertet. Wie man in der Original Klasse aber sehen kann, gibt es danach die beiden hook Einbindungen, die man bei Sonder-Aktionen oft zusätzlich benötigt, um die Header zu modifizieren:
https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Mail%21Ma...
Den Langcode und die Send-Anweisung würde ich auch nicht als NULL übergeben, nur um sicher zugehen.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen