Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PHP] Mail per Socket mit komischen Header?

Empfohlene Antworten

Hi,

ich habe ein kleines Problem mit meiner Mail-Funtion! Da ich keinen eignen SMTP-Server auf dem Server laufen lasse, lasse ich den Mailversand per Socket machen. Mein Problem dabei ist, dass bevor der Header bzw. der DATA-Code kommt, einige XXXXXX... geschickt werden, sodass der Header keine Chance hat, in Kraft zu treten!

$_MAIL["host"] ist z.B. mail.gmx.de oder ein anderer Provider!

Beispiel eMail-Body:

XXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXX

Subject: test betreff2

testnachricht undso

PHP-Funktion


function mailer($email,$subject,$text){
global $_MAIL;
$sender="service@xxxxx.de";
$hdr="From: <".$sender.">\n";
$hdr.="To: <".$email.">\n";
$hdr.="Subject: ".$subject."\n";

//Socket erstellen
$fp = fsockopen($_MAIL["host"], $_MAIL["port"]);
$banner = fgets($fp, 1024);

//EHLO-CMD
fputs($fp, "EHLO ".$_SERVER['SERVER_NAME']."\r\n");
$result = fgets($fp, 1024);
if ($result+0 != 250 AND $result+0 != 220)
die("HELO Statuscode: ".$result);

//Authentifizierung
fputs($fp, "AUTH LOGIN\r\n");
$result = fgets($fp, 1024);
if ($result+0 != 250 AND $result+0 != 334)
die("AUTH LOGIN Statuscode: ".$result);

//Username in BASE64
fputs($fp, base64_encode($_MAIL["user"])."\r\n");
$result = fgets($fp, 1024);
if ($result+0 != 250 AND $result+0 != 334)
die("Username Statuscode: ".$result);

//Password in BASE64
fputs($fp, base64_encode($_MAIL["pass"])."\r\n");
$result = fgets($fp, 1024);
if ($result+0 != 250 AND $result+0 != 235)
die("Password Statuscode: ".$result);

//Mail-Von
fputs($fp, "MAIL FROM: <".$sender.">\r\n");
$result = fgets($fp, 1024);
if ($result+0 != 250 AND $result+0 != 334)
die("MAIL FROM Statuscode: ".$result);

//Mail für
fputs($fp, "RCPT TO: <".$email.">\r\n");
$result = fgets($fp, 1024);
if ($result+0 != 250 AND $result+0!=235)
die("RCPT TO: Statuscode: ".$result);

fputs($fp, "DATA\r\n");
$result = fgets($fp, 1024);
if ($result+0!=354 AND $result+0!=250)
die("DATA: Statuscode: ".$result);
fputs($fp, $hdr);
fputs($fp, $text."\r\n");
fputs($fp, ".\r\n");
$result = fgets($fp, 1024);
if ($result+0 != 250)
die("DATA(end): Statuscode falsch: $result");
fputs($fp, "QUIT\r\n");
}
[/PHP]

Kann mir jemand einen Rat geben?

Gruß,

Jan

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.