メールで受信したPDFファイルをHylaFaxで送信してみる。

※その後ちょこちょこ修正が入りました。最終版はこちら。

 

IP-PBXの機能拡充が趣味になりつつある今日このごろw

ReadOnry化以降かなり安定して使えていて目立ったトラブルはゼロです!

今日は以前構築したHylaFaxによる無料FAXを外から送れる用にしてみようと思う。

 

かなり適当に作ったので穴だらけ&セキュリティー的にどうなの?ってところがあるけれど参考にどうぞw

 

仕事の完了報告がFAXなのだけど出先からでも完了報告できればいいなぁ~ということでメールを使ってFAX送信をテストしてみます!

 

まずはメール受信環境を検討。

ベストなのは自前のメールサーバを立てて「電話番号@ドメイン」で受信したメールをFAX転送できればスマホのアドレス帳につかえて便利なんだけど…

Raspberry Piの外部に公開するポートは最小限に抑えたいので今回は外部のPOP3メールをFetchmailで受信して処理する事にします。

 

まずは必要なパッケージをインストール

apt-get install mpack fetchmail

これだけ。

 

次にFetchmailの設定をします。

~#nano ~/.fatchmailrc   #ユーザーホーム直下にfetchmailrcファイルを作成

set daemon 60      #fetchmailをdaemoとして起動。(60秒に一回実行)

poll メールサーバ
protocol pop3
port 110
username “アカウント"
password “パスワード"
mda “/usr/sendfax.sh" #メールを受信したら実行するスクリプトを指定。

こんな感じです。

chmod 600 ~/.fetchmailrc

でパーミッションを指定しておく。

 

続いてメール受信後に処理するシェルスクリプト。

適当な場所にファイルを作ってこんな感じに書く。

#!/bin/sh

cat > ~/sendfax/temp.mail     #受信したメールをとりあえず保存
munpack -C ~/sendfax/temp ~/sendfax/temp.mail   #munpackを使用して添付ファイルを抽出
pdf2ps ~/sendfax/temp/* ~/sendfax/temp/faxdata.ps   #pdf2psを使用してPDFファイルをPSファイルに変換
sendfax -f 結果送信先メールアドレス -n -d `grep “Subject:" ~/sendfax/temp.mail | cut -c10-` ~/sendfax/temp/faxdata.ps  #sendfaxでPSファイルをファックス
rm ~/sendfax/temp.mail  #メールデータ消去
rm ~/sendfax/temp/*   #tempフォルダの中身も消去

雑だけどこんな感じで。

パーミッション設定と必要なディレクトリも作るの忘れずに。

pdf2psでファイルをPSに変換しているけれどGSが日本語対応してないしフォントも入れてないので変換失敗します。

でもスマホから送信の画像変換のPDFしか送らない予定だから無視して進めます!

受信した添付ファイルが日本語の場合文字化けして拡張子が読み取れないのでpdf2psはフォルダの中身全て処理の雑対応。

日本語対応させるより楽だし自分一人で使うならPDFしか送らないから問題なし!

送信先の電話番号はメールのタイトルに記載する事にしてメールの生データから「Subject:」と書かれてる行を抽出。

ココらへんも利用するのが自分オンリーだからこその雑設定w

 

とりあえずこれで受信したメールを勝手にFAXで送ってくれます。

FAX専用のメールアドレスを調達出来ない場合は本文またはタイトルに決まった文言を入れた場合のみ送信等の処理を入れればOKかな?

 

あとfetchmailのdaemonは一度手動で実行後じゃないと動き出さないので

nano /etc/crontab

@reboot root fetchmail

とでも追記しておけば再起動後に一度実行してdaemonが働きだすはず。

 

そして送るデータの作り方だけど。

スマホアプリで紙を撮影すると歪みを補正して正面からのスキャニングしたような画像に処理してPDF化してくれるのがいっぱいあります。

Googleドライブアプリもスキャニング対応してるからそれでもOKだね!

 

あとはpdftkを入れて複数のPDFファイルを一個にまとめてから送信なんかも簡単だから表紙を付けて送る時とかには便利かも?

メールの本文の内容をFAXの送付状に印字して送るなんて事も可能だろうけど…

メンドクサイからやりません!

やってみました!