Manche Sendmail-Skripte sind aber so doof, dass sie ein geliefertes \r\n in zwei davon zerlegen. Das führt dann dazu, dass der SMTP-Server das dann nicht mehr verstehen kann. Denn zwei CRLF hintereinander bedeuten "EoH" Ende der Header. Da beginnt dann der Mailbody.
Was man sehr gut daran erkennt, dass die so gesendeten Headerzeilen dann im Body des hoffentlich empfangenen Mails auftauchen...
Bei Windows wird direkt der eingestellte SMTP-Port angesprochen. Da fällt deshalb die Manipulation durch ein Semdmail-Skript weg. Das gibts da nicht.
Dafür aber einen Abschnitt in der php.ini:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path =
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail().
;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = Off
; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog
Die angegebene URL http://php.net/smtp leitet (mich) weiter zu https://www.php.net/manual/de/mail.configuration.php#ini.smtp