Raspberry PiのRaspbian上でFAXサーバーを動かしてFAXの送受信環境を構築する。
サーバープログラムにはHylaFAXを使用します。
目次
必要な環境
- Raspbianがインストールされて動作するRaspberry Pi [構築方法・準備するもの]
- Faxを受信したときにメール通知を受け取るにはRaspberry Piからメール送信できる状態になっている必要があります。 [Gmailサーバーをリレーしてメール送信できるように設定する方法]
- vimをインストールしてあります。
- USBモデム
執筆時の環境
Raspberry Pi 3にRASPBIAN JESSIE WITH PIXEL (Kernel 4.4)導入済みで、モデムはPLANEX PL-US56Kを使用しました。
設定方法
モデムのドライバを読み込む
まずvender-idとproduct-idを取得する。
lsusb
...
Bus 001 Device 004: ID 2019:ab27 PLANEX
...
今回の場合、2019がvender-idでab27がproduct-id(PLANEX PL-US56Kの場合同じになるはず)。
この値を使ってドライバを起動するために以下のように入力する。
sudo modprobe usbserial vendor=0x2019 product=0xab27
でたぶんttyUSB0として認識する。
末尾の数字は変わる場合があり、
ls -l /dev/ttyUSB*
で確認できる。
ドライバをOS起動時に自動で読み込む設定
sudo vim /etc/rc.local
rc.localのexit 0の手前に以下の行を追加する(必要に応じてvender-idとproduct-idを変更する)。
modprobe usbserial vendor=0x2019 product=0xab27
HylaFAXをインストール
sudo apt-get install hylafax-server
インストールはこれだけ。
HylaFAXの初期設定
sudo faxsetup
対話式でいろいろ聞かれるが、以下の項目以外はデフォルト(何も入力せずEnter)でOK
Serial port that modem is connected to [ttyS0]? ttyUSB0(モデムのデバイス名)
Country code [1]? 81(国番号: 日本は81)
Area code [415]? 3(頭の0を除いた市外局番: 東京[03]の場合3)
Phone number of fax modem [+1.999.555.1212]? +81.3.0000.0000(FAXの電話番号)
Local identification string (for TSI/CIG) ["NothingSetup"]? "Name"(送信者の名前)
Long distance dialing prefix [1]? 0(国内電話発信番号: 日本の場合0)
International dialing prefix [010]? 010(国際電話発信番号: 日本の場合010)
Rings to wait before answering [1]? 10(電話を受けるまでのコール数)
Tag line format string ["From %%l|%c|Page %%P of %%T"]? "From\ %%l|%F\ %T\ %Z|Page\ %%P\ of\ %%T"(FAX最上部のフォーマット: デフォルトだと日本語の時刻が文字化けするため厳密に定義する)
※もし入力を間違えた場合
The non-default server configuration parameters are:(デフォルト以外のパラメータ一覧)
で確認できるので直後の
Are these ok [yes]?
にnoと入力すれば再度入力できる。
Do you want to run faxaddmodem to configure another modem [yes]? no(yesにするとさらに別のモデムを設定する)
いったんrebootコマンドなどでOSを再起動。
用紙サイズの設定を確認する。
vim /etc/hylafax/pagesizes
default A4 9921 14031 9255 13207 472 345
となっていればOK
Fax用のユーザーを作成する。
sudo faxadduser -p [パスワード] [ユーザー名]
FAX送信テスト
sendfax -n -d [送信先電話番号] [送信ファイル(txtやpdfなど)]
これでFAXが送信されるはず。
メール通知設定
Faxを受信したら自動でメールにpdfを添付して送信するように設定する。
Raspberry Piからメールが送信できるようになっている必要がある。 [Gmailサーバーをリレーしてメール送信できるように設定する方法]
sudo vim /var/spool/hylafax/etc/FaxDispatch
FILETYPE=pdf;
SENDTO=[送信先メールアドレス];
FROMADDR=[送信元メールアドレス];
まとめ
これでFaxのメールでの受信と、クライアントソフトを使用するかRaspberry PiのコマンドラインからFaxを送信できるようになります。
次の記事で、メールを送信するだけでFaxを送信できるようにしました。
追記
/etc/hylafax/config.ttyUSB0(モデム名) にあるファイルを編集すると設定が変更できる。
お世話になります。
linuxの知識もなく、ただ好奇心だけでraspberrypiを買って、MyDns.jpへの
自動更新機とかしていたのを、あるきっかけで、FAX受信をさせようと思いこのページにたどり着きました。
コマンドもよくわからず、その都度ググりながら、ほぼコピペで記載の通り手順を踏んでいきましたら、なんとか受信&PDF添付のメール通知まで出来るようになりました。
しかし、「FAX送信テスト」に記載されているコマンドを実行したときに以下のエラーメッセージ出て、上手く動きません。
Malformed (null) sender name or mail address
これは、どういう意味でしょうか?
最終的には、こちらからメールをラズパイに投げて、それをFAX送信したいと思っていますが、2,3か所分からないところがあります。
申し訳ありませんが、ヒント程度でもご助言いただけると幸いです。
どうかよろしくお願いいたします。
コメントありがとうございます。遅くなってしまいごめんなさい。
おそらくFax用ユーザーが正常に作れていないのではないかと思います。Linux側でユーザーアカウントを作ってみるとどうでしょうか。
お世話になります。
返信遅くなりました。結果報告です。
RaspberryPi側(OS側)のfaxuserを削除しして再登録したり、HylaFAXのユーザーを削除&再登録したりして試行錯誤しているうちになんとなく出来てしまいました。
これかなぁ~と思う変更は、OS側のfaxuserの権限をデフォルトのpiの権限と同じにしたことと、cat /var/spool/hylafax/etc/hosts.hfaxd で中身を見たところ、パスワードが空欄になっていたので、ユーザー削除と再登録したところ、ユーザーとパスワードが上記ファイルに記載されたことです。
グループ権限はpiと同じは拙いだろうと思い、要らなさそうな権限を外して、たしか(sudo,adm,pi)ぐらいに絞ったところエラーが出たので、慌ててpiと同じ状態に戻し、念のため、HylaFAXのユーザーの再登録したところで、メール送信できるようになりました。
原因特定にいたるような情報ではありませんが、何かの一助になればと思いご報告します。
ご返答ありがとうございました。
Ayame様
記事から時間がたっていますがアドバイスいただけると幸いです。
FAXが少なくなる中ですが、仕事上どうしてもFAXにて送られてくるものがあります。
その中で、安価に仕上げようと思いラズパイ+USBモデムにていろいろネットを探しておりました。
その結果、Ayame様のこのページにたどり着きました。
このページの記事を参考にいろいろと思考錯誤の結果送信できるようになりました。
しかし、受信ができません。
モデムをATコマンドで調べるとTAS0が0となっていました、hylafaxの設定では”2″としていたのですが反映されません。これはモデムが認識されていないのでしょうか?でも送信できているので認識されていると考えます。
hylafaxのVERは6.0.6です。ラズパイのVERは、5.10.103です。
思うにどうもhylafaxの設定がモデムに流れていないのではと思っています。
何か確認するところがあるのでしょうか?
よろしくお願いします。