Ich hab gleich mb_send_mail genommen. Nach meinen Erfahrungen braucht das kein wordwrap für den body.
Ich überprüfe solche ussagen gerne nochmal, habs also getestet:
1. Erzeugen eines langen Strings ohne Zeilenumbrüche in der Shell:
tr -d "\n" < /var/log/apache2/error.log > /tmp/longline
wc -c /tmp/longline
139066 #139 kilobytes
wc -l
0 # Das sind nicht die Zeilen, sondern die Zeilenumbrüche!
2. Test-Skript: (Die Adresse habe ich geändert!)
<?php
$txt=file_get_contents('/tmp/longline');
mb_send_mail(
'an_mich@example.com',
'Mail mit langer Zeile',
$txt
);
3. Gegentest: (Die Adresse habe ich geändert!)
<?php
$txt=file_get_contents('/var/log/apache2/error.log');
mb_send_mail(
'an_mich@example.com',
'Mail error.log',
$txt
);
4. Ergebnisse:
Beide Mails kommen an.
5. Weitere Erkenntnisse:
- Bis zum Empfang des Mails mit der langen Zeile dauert merkwürdig lange. (Mehrere Minuten)
- Mein grafischer Client auf dem gewiss nicht langsamen Rechner braucht jedes Mal mehrere Sekunden(~3) um das Mail mit der superlangen langen Zeile zu öffnen. Das liegt offenbar am „wrappen“ für die Darstellung.
- Im Fall des Mails mit den Zeilenumbrüchen im Error-Log ist beides nicht der Fall.
Logs (Auszug, Zeitzonen umgerechnet)
from [user] Mon, 08 Jun 2020 08:13:43 +0000 (mein Hoster)
from relay Mon, 08 Jun 2020 08:13:45 +0000 (Ankunft bei Google-SMTP)
by [smtp] Mon, 08 Jun 2020 08:17:50 +0000 (Auslieferung durch Google-IMAP)