Ich benutze PHP Curl() -Funktion, um von Server A an den Mailserver B zu verbinden, um Mail zu senden.phpmailer sendet Mail ohne Betreff und ohne Zeilenumbrüche
$body = "body\n\nmore body\nmore body\n\nmore body\n\n";
$post = [
'sendera' => $sender,
'sender_name' => $sender_name,
'subject' => $subject,
'body' => $body,
'recipient' => $email,
'recipient_name' => $name,
'replyto' => $replyto
];
$ch = curl_init('http://example-mailserver.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3);
curl_setopt($ch,CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
curl_close($ch);
Mail wird erfolgreich gesendet, aber es gibt 2 Probleme.
Problem N 1
Post ankommen, ohne Zeilenumbrüche, also alle \ n sind nur Klartext. Nie hatte dieses Problem das Senden von E-Mail von demselben Server. Jetzt, wenn ich mit curl() senden, erscheint dieses Problem. Mail-Server haben php7 installiert. Sollte dies ein php7 oder curl() Problem sein?
Problem N 2
Post ankommen ohne Betreffzeile jedoch $ subject Variable existiert, wenn Skript ausgeführt wird, ich diese Option aktiviert durch eine einfachere Mail zu senden, bevor PHPMailer Aufruf() Funktion.
Also, warum PHPMailer ignoriert $ Thema? Ich hatte dieses Problem nie auf dem Server A mit PHP5.
mail('[email protected]', 'check if subject exists', $subject);
Die Mail oben kommen mit $ Betreff-Variable. Aber die Post, die direkt danach mit phpmailer geschickt wird, hat keine Betreffzeile.
$mail=new PHPMailer();
$mail->IsMail();
$mail->WordWrap = 0;
$mail->SingleTo = true;
$mail->IsHTML(false);
$mail->CharSet = "utf-8";
$mail->From = $sender;
$mail->FromName = $sender_name;
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($recipient,$recipient_name);
$mail->AddReplyTo(#replyt,"No-Reply");
$ mail-> Betreff = "". $ Themen.""; // probiere das bitte –
das gleiche Problem :( – user1406271
Haben Sie versucht '
' statt –