Содержимое stdin получает повреждение с переносом слов и завершением «=», в течение которого, очевидно, нарушается URL-адрес, который мне нужно отправить.
Мне нужно извлечь URL-адрес из электронной почты, а затем отправить URL-адрес. Итак, я пишу свою электронную почту на php-скрипт в cpanel, используя стандартный снимок кода, который я видел по всему Интернету:
$fd = fopen("php://stdin", "r"); $email = ""; // This will be the variable holding the data. while (!feof($fd)) { $email .= trim(fread($fd, 1024)); } fclose($fd);
Затем выгрузите содержимое письма в файл «pipemail.txt», чтобы проверить его и убедиться, что все работает правильно.
$fdw = fopen("pipemail.txt", "w+"); fwrite($fdw, $email); fclose($fdw);
Результат выглядит следующим образом:
... <table style=3D"width:100%" cellpadding=3D"0" cellspacing=3D"0" border=3D"0= "><tbody><tr><td><table style=3D"background-color:#ffffff;color:#3c445a;fon= t-family:arial;font-size:10px;font-weight:bold;width:100%" cellpadding=3D"0= " cellspacing=3D"0"> ...
Я работаю над этим уже более дня, и я полностью в тупике. Я пробовал обрезать конечную «=» из входящих строк, и это не дает ожидаемого результата. Вместо этого он, кажется, удаляет случайные «=» из кажущихся случайными местоположений в контенте. Я предполагаю, что это не случайность, но это кажется только потому, что это не то, что я ожидаю. Вероятно, это только удаление, если это последний символ строки 1024 k / char, но если это правда, то откуда еще происходит перевод слов? Я не знаю, как это срабатывает, чтобы справиться с этим самим.
Почему это обертывание? Откуда берутся «=»? У кого-нибудь есть предложения?