Привет. Я хочу переслать все электронные письма (которые попадают в мой почтовый ящик) на php-скрипт и загрузить содержимое электронной почты и сохранить его в файле. Так что сделайте это, я правильно добавил почтовый пересылку с каналом.
Адрес для пересылки: tickets@ana.stage.centuryware.org
Труба к программе: /home/centuryw/public_html/stage/ana/osticket/upload/api/pipe.php
Я использовал следующий скрипт как pipe.php
#!/usr/bin/php –q <? /* Read the message from STDIN */ $fd = fopen("php://stdin", "r"); $email = ""; // This will be the variable holding the data. while (!feof($fd)) { $email .= fread($fd, 1024); } fclose($fd); /* Saves the data into a file */ $fdw = fopen("mail.txt", "w+"); fwrite($fdw, $email); fclose($fdw); /* Script End */
Но не было выходного файла, и все электронные письма снова попадали в мой почтовый ящик. Кто-нибудь может мне помочь?
Убедитесь, что в файле PHP установлен бит выполнения (например, chmod +x pipe.php
).
попробуйте выполнить следующие два варианта:
Во-первых, ваш php-файл должен иметь разрешение на выполнение (от группы владельцев, как минимум), иначе это не сработает.
Что вы использовали при использовании форвардера? Вы также должны указать путь компилятора php на beginnig.
Недавно я написал статью о полном подробном процессе написания электронного письма в php-программе , вам может понравиться посмотреть. Дайте мне знать, если у вас есть еще вопрос. Благодарю.
Я знаю, что этот вопрос – 2 года, но, надеюсь, это поможет любому, кто наткнулся на него, как я.
У меня была точно такая же проблема, и я потратил годы на регистрацию ошибок и т. Д. Затем я заметил, что у моего скрипта (и этого) были короткие короткие PHP-теги (т. Е. <?
), И мой файл конфигурации PHP был отключен. Я изменил тег на <?php
и скрипт работал! Очевидное, но легко пропустить …
Чанака –
Это не означает, почему нет выходного файла, но …
Вы не хотите использовать a+
в своем вызове fopen()
? Аргумент w+
удалит любой контент, который уже существует в вашем выходном файле.
PS: Вы пробовали сделать простой тест, который записывает в выходной файл с использованием фиктивного текста (а не ввода с электронной почты) в качестве содержимого?
Джефф Кохан
Если это действительно почтовый ящик, почему бы не использовать IMAP (PHP) ? Существует множество классов для чтения почты с помощью imap @ phpclasses.org