2012-02-03 11 views
0

先日、クライアントから興味深い要望が寄せられました.HTMLメールから自動的に書式設定されたPDFを作成しています。基本的に、彼らは夜間のニュースレターを送り、電子メールを受け取り、フォーマットされたPDFに変換し、そのPDFをBox.net上のフォルダにアップロードする "bot"電子メールアドレスをリストに追加したい。プロセスはPHP経由で行う必要があります。HTML電子メールをPDFに自動変換します。思考?

私は電子メールからHTMLを取得した後、それ以降の手順はあまり問題になるとは思わない(おそらくちょうどdompdfを使用してHTMLをPDFに変換し、フォーマットは複雑ではない) 。私の具体的な質問は、電子メールを取得し、そこからHTMLを取得するための手順です。電子メールを受信するたびにPHPスクリプトが実行されるメールアカウントを設定する方法はありますか?もしそうなら、どのように私はメールボックスの内容やPHPを介した電子メールにアクセスするのですか?それは簡単でしょうか、定期的に新しい電子メールのメールボックスをチェックする方が理にかなっていますか?

これについての考えは、最も高く評価されます。

+1

'procmail'や' cron'ジョブとimap/pop3ポーリングを使うことができます。メールの解析には様々なライブラリが存在します。 http://flourishlib.com/docs/fMailboxまたはhttp://pear.php.net/package/Mail_mimeDecode – mario

+0

[Mailparse PHP拡張機能を使用しないでメールを解析する方法](http://stackoverflow.com/questions)/6251926/how-to-parse-email-without-using-mailparse-php-extension) – mario

+0

[phpで受信メールを処理するにはどうすればいいですか?](http://stackoverflow.com/questions/6117897/how -can-i-process-incoming-mail-with-php) – mario

答えて

0

どのプラットフォームを使用しているか知らなくても、何を助言するのかを知ることは難しいです。

UNIXおよびLinux環境では、Fetchmailは、POPまたはIMAPサーバーからのメールを取得するための古いお気に入りです。 Fetchmailがメールを取得すると、それをファイルに保存したり、プログラムなどにパイプしたりして、さまざまな変換ツールで自動化することができます。

cronジョブでfetchmailを使用してメールボックスを "ポーリング"したくない場合は、メールサーバー自体で変換を開始することができます。 SendmailまたはPostfix(または他の同様のソフトウェア)をMTAと実行しているUnixまたはLinuxのメールサーバーは、「ローカル配信エージェント」としてProcmailを使用することがあります。 Procmailには、電子メール内のパターンを認識したり、「行う」ための柔軟な言語が含まれています。 Procmailがあなたのメールを配信している場合、あなたの基準に合った受信HTMLメールを認識する「レシピ」を簡単に書くことができます。その後、HTML部分を変換プログラムでパイプします。誰かにページを張ったり、他のプログラムを実行したりすることができます。

HTMLをPS/PDFに変換する実際のプロセスは、実際には指定していないプラットフォームによって異なります。 UNIX環境では、PSからPDFへの変換は簡単ではないことを覚えておいてください.PSへの変換を見つけると、簡単にPDFに変換できます。 list of recommendations from w3.orgをご覧いただくか、お使いのプラットフォームのサポートを依頼してください。 FreeBSDを使用しています。ここではhtml2ps-letterが存在します。

1

私はemail2pdfというスクリプトを書いています。このスクリプトは、HTML(およびプレーンテキスト)の電子メールをPDFに変換するのに非常によく似ています。これはPHPではなくPythonを使用し、実際にメールを取得するためにgetmailと連携して動作するように設計されています。

詳細はREADMEに記載されています。

(ごくわずかな自己宣伝で申し訳ありませんが、これは関連していると思います)