Email Piping с PHP Script, используя cpanel - PullRequest
1 голос
/ 20 февраля 2020

Я пытаюсь отправить письмо по электронной почте с помощью cpanel и PHP script. Работает нормально. Я ищу получить от адреса, темы и сообщения из полученного письма. Мой скрипт выглядит следующим образом:

#!/usr/bin/php -q
<?php

/*$fd = fopen( "php://stdin", "r" );

$message = "";

while ( !feof( $fd ) )
{
    $message .= fread( $fd, 1024 );
}

fclose( $fd );*/

$fd = fopen("php://stdin", "r");
$message = "";
while (!feof($fd)) {
$message .= fread($fd, 1024);
}
fclose($fd); 

//split the string into array of strings, each of the string represents a single line, received
$lines = explode("\n", $message);

// initialize variable which will assigned later on
$from = "";
$subject = "";
$headers = "";
$message = "";
$is_header= true;

//loop through each line
for ($i=0; $i < count($lines); $i++) {
if ($is_header) {
// hear information. instead of main message body, all other information are here.
$headers .= $lines[$i]."\n";

// Split out the subject portion
if (preg_match("/^Subject: (.*)/", $lines[$i], $matches)) {
$subject = $matches[1];
}
//Split out the sender information portion
if (preg_match("/^From: (.*)/", $lines[$i], $matches)) {
$from = $matches[1];
}
} else {
// content/main message body information
$message .= $lines[$i]."\n";
}
if (trim($lines[$i])=="") {
// empty line, header section has ended
$is_header = false;
}
}


$to      = 'myemail@gmail.com';
$subject = 'the subject';
$message1 = "You have new message from :".$from. "and message is" .$message;
$headers = 'From: webmaster@mydomain.com' . "\r\n" .
    'Reply-To: webmaster@mydomain.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message1, $headers);


?>

Я получаю результат в своем письме, как показано ниже

You have new message from :FirstName LastName <senderemail@gmail.com>and message is--00000000000045a1e5059ef97af8
Content-Type: text/plain; charset="UTF-8"

This is Body text Message

--00000000000045a1e5059ef97af8
Content-Type: text/html; charset="UTF-8"

<div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif;font-size:large">This is text<br></div></div>

--00000000000045a1e5059ef97af8--

Однако в нем содержатся лишние слова. Я хочу простой вывод, как показано ниже

You have new message from :senderemail@gmail.com and message is This is Body text Message

Извините, я новичок в PHP и не могу решить проблему. Дайте мне знать, если кто-нибудь может помочь мне для извлечения и получить вывод, как это.

Спасибо!

...