広告

検索

RSS RSSフィード

カレンダー

2018年12月
« 4月    
 12
3456789
10111213141516
17181920212223
24252627282930
31  

カテゴリー

最新のコメント

リンク

iモード.netサービス終了に伴うimoten停止

投稿者:yasu 更新日時:2015年3月2日 22時48分15秒
カテゴリiPhone/iPod touch/iPad, OS X, 自宅サーバー
タグ

iモード.netのサービスが2015年2月末に終了しました。
これに伴い以前OS X Serverに設定していたimotenのサービスを止めました。

imotenサービス停止

sudo /sbin/SystemStarter stop imoten

OS起動時imotenサービス自動起動設定削除

sudo rm -fr /Library/StartupItems/imoten

imotenアプリケーション削除

sudo rm -fr /Applications/imoten

imoten本当にお世話になりました。

OS X Server メールのプッシュ通知について

投稿者:yasu 更新日時:2014年5月31日 12時10分33秒
カテゴリOS X, 自宅サーバー
タグ

以前Mac OS X Lion Serverのメールサーバとプッシュ通知の設定をして使っている中でプッシュ通知がこない場合があるというのを記事にした事があるのですが、OS X Serverで使っているメールサーバのメールアカウントはサブ用のメールなので、その後特に調査もせず「まあ自分でこまめに受信すればいいよね」的な感じで放置していたのですが、昨日私の当時の記事にとっとこさんなる方からコメントをいただきました。
なんでもメールのプッシュ通知をしているデーモンを定期的に再起動してあげる事で常にプッシュされるというではありませんか!!
Mac OS X Mavericks Server のメールサーバで正しくPush通知が送られない問題について。 - とっとこのサーバ日記

それならとyasuも試してみました。
とっとこさんは自作perlを作成され一度だけperlプログラムを実行することでプッシュ通知デーモンの定期killをされていましたが、yasuはcron設定して明示的に実行する事なく自動実行できるようにしました。
当時Lion Serverでメールサーバの構築をしましたが、その後Mountain Lion ServerにアップグレードしているのでMountain Lion Serverでの設定備忘録になります。

やった事は以下の2つ。
1.Mountain Lion Serverのrootユーザを有効にする
OS X Mountain Lion: ルートユーザを有効にする/無効にする
リンクがなくなってもいいように手順を引用しておきます。

1.アップルメニュー>「システム環境設定」と選択し、「ユーザとグループ」をクリックします。
2.カギのアイコンをクリックしてロック解除してから、管理者名およびパスワードを入力します。
3.「ネットワークアカウントサーバ」セクションで、「接続」または「編集」をクリックします。
4.「ディレクトリユーティリティを開く」をクリックします。
5.カギのアイコンをクリックしてロックを解除してから、管理者名およびパスワードを入力します。
6.「編集」>「ルートユーザを有効にする」と選択してから、「パスワード」および「確認」フィールドにルート・ユーザ・パスワードを入力します。

2.cronの設定
rootユーザのcronにプッシュデーモンをkill(killすると勝手にプッシュデーモンが再起動するのでkillするだけでいいらしい)するコマンドを書きます。
とりあえず10分毎に実行される様にします。

macmini:~ macmini$ sudo crontab -e
Password: ログインユーザのパスワード
*/10 * * * * kill `ps aux|grep push_notify|grep -v "grep"|awk '{print $2}'`
保存してviエディタを終了します

これだけです。

あとは/var/log/system.logをみて30分毎にプッシュデーモンがkillされて再起動されていることを確認します。

May 31 11:30:01 macmini.sasaki.jpn.com push_notify[70303]: Opening connection to apn feedback server feedback.push.apple.com for topic com.apple.mail.XServer.xxx6xxxx-71xx-4xxx-af95-479xxxxxxxx
May 31 11:30:02 macmini.sasaki.jpn.com push_notify[70303]: Disconnected from apn feedback server feedback.push.apple.com for topic com.apple.mail.XServer.xxx6xxxx-71xx-4xxx-af95-4790xxxxxxxx

プッシュデーモン定期再起動をやってみて、プッシュ通知が常に届くようになった気がします。

とっとこさん、貴重な情報提供ありがとうございました!!

Mountain Lion ServerのSSL証明書を更新したらDovecotが起動しなくなった

投稿者:yasu 更新日時:2014年5月17日 12時26分35秒
カテゴリdovecot, OS X
タグ

久しぶりにMountain Lion Serverでトラブルが発生したので、解決方法をメモしておこうかと。

Mountain Lion Serverから「証明書の有効期限がまもなく切れます - Server Fallback SSLCertificate」なるタイトルのメールが数日前から送られてくるようになりました。
で、今朝サーバ管理ツールでSSL証明書の更新をしたわけですよ、サクッと。
そしたらメールサービスが起動しなくなりました。

何度メールサービスを起動してもログファイルに下記のようなログを吐いて止まってしまうんです。
May 17 11:41:36 macmini com.apple.launchd[1] (org.dovecot.dovecotd[1524]): Exited with code: 89
May 17 11:41:36 macmini com.apple.launchd[1] (org.dovecot.dovecotd): Throttling respawn: Will start in 10 seconds

更新したSSL証明書がおかしいのかと、一度証明書を消して再度新規発行したりしたけど事象はかわりませんでした。
でも明らかにSSL証明書の更新の影響だよなぁと思い調べてみるとAppleサポートコミュニティに対応方法が書かれていました。
メールサーバーを起動するとログにエラーが書かれます | Apple サポートコミュニティ

うちのMountain Lion Serverも最後のたけぞうちゃんさんのような状態で、/Library/Server/Mail/Config/dovecot/conf.d/10-ssl.conf のssl_certとssl_keyがコメントになっていたので、コメントを解除してMountain Lion Serverを念のため再起動したら元に戻りました。
来年SSL証明書の更新する時に、この記事見直さないと忘れてるだろうな・・・。

OS X Mountain Lion Serverにアップグレードしたらえらい目にあった

投稿者:yasu 更新日時:2012年7月29日 23時30分50秒
カテゴリApple, OS X
タグ

OS X Lion ServerをOS X Mountain Lion Serverにアップグレードするにあたって気になったのはLion Server→Mountain Lion→Mountain Lion Serverという形でクライアントOSをインストールすることでLion Serverで設定したサーバーの設定が消えてMountain Lion Serverインストール後再設定が必要なの!?って事でした。

とりあえず考えていてもよくわからないので、メール、スケジュール、アドレス帳、imotenなど設定した環境やデータをバックアップして、アップグレード(上書きインストール)しちゃいました。
Mountain Lionにアップグレードしたら、今度はOS X ServerをApp Storeで購入してインストールします。
Mountain Lion Serverのインストールが終わるとLion Serverの設定を引き継いで環境構築が自動で始まりました。
おおっ、なんだかぱっと見何も考えなくても簡単にアップグレードできそうじゃん。

Mountain Lionにすると再度javaのインストールが必要ということで、(imotenを動かすために必要な)下記リンクを参考に再インストールしました。
Mountain Lion (Mac OS X 10.8)にJavaをインストールする - memo.yomukaku.net

さてさてアップグレードが終わって動作確認をしてみたところ、メール送信ができなくなり、スケジュールのプッシュ通知ができなくなり、流石にこりゃダメだこりゃって事でLionのクリーンインストール→Lion Serverインストール→各種サーバーの再設定、データ戻しとえらい時間を取られました。
サーバーOSなんて新しいバージョンが出た瞬間バージョンアップしちゃダメですね。
10.8.2とか10.8.3くらいになってから、新しいMac miniを購入してバージョンアップする予定です。
OS X Serverでやりたかったのはスケジュールとかアドレス帳の管理をしたかったのとiPhoneのメールプッシュ通知だったので、Lion Serverで事足りてるのに魔が差してバージョンアップしたくなっちゃんたんですね。
とりあえずLion Serverのクリーンインストールをしたら以前よりも調子がよくなったような感じもするし結果オーライって事で。

imotenを複数起動して複数のiモードメールを送受信してみた

投稿者:yasu 更新日時:2012年7月25日 22時24分20秒
カテゴリimoten, OS X, 自宅サーバー
タグ

Docomo SIMを挿し、imotenでiモードメールもリアルタイムで受信できるようになったSIMフリーiPhoneですが、相方からも「Androidはタッチ精度が悪くてメールが打ちにくいからiPhoneでiモードメールが出来るようにして欲しい」と言われたのでimotenの複数起動を試してみました。

ちなみにimotenは複数起動を推奨はしていないようで保証の限りではありませんので自己責任でお願いします。

ターミナルを起動してimoten2をインストールします。

# /Applicationsの下にあるimotenをimoten2という名前でコピーします
macmini:~ macmini$ sudo cp -a /Applications/imoten /Applications/imoten2

# /Applications/imoten2/binの下にあるimotenをimoten2にリネームします
macmini:~ macmini$ sudo mv /Applications/imoten2/bin/imoten /Applications/imoten2/bin/imoten2

# スタートアップの設定をします
macmini:~ macmini$ sudo mkdir /Library/StartupItems/imoten2
macmini:~ macmini$ sudo cp /Applications/imoten2/bin/mac_startup/* /Library/StartupItems/imoten2/
macmini:~ macmini$ sudo chmod -R 755 /Library/StartupItems/imoten2
macmini:~ macmini$ sudo vi /Library/StartupItems/imoten2/StartupParameters.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Description</key>
        <string>imoten2</string> # imotenからimoten2に変更
        <key>OrderPreference</key>
        <string>None</string>
        <key>Provides</key>
        <array>
                <string>imoten2</string> # imotenからimoten2に変更
        </array>
        <key>Uses</key>
        <array>
                <string>Network</string>
                <string>Resolver</string>
        </array>
        </dict>
</plist>

# 保存してviエディタを終了します

macmini:~ macmini$ sudo mv /Library/StartupItems/imoten/imoten /Library/StartupItems/imoten2/imoten2
macmini:~ macmini$ sudo vi /Library/StartupItems/imoten2/imoten2

#!/bin/sh

. /etc/rc.common

##
# Startup imoten
##

StartService()
{
        ConsoleMessage "Starting imoten"
        cd /Applications/imoten2/bin # imotenからimoten2に変更
        ./imoten2 start # imotenからimoten2に変更
}

StopService()
{
        ConsoleMessage "Stopping imoten"
        cd /Applications/imoten2/bin # imotenからimoten2に変更
        ./imoten2 stop # imotenからimoten2に変更
}

RestartService()
{
        ConsoleMessage "Restarting imoten"
        cd /Applications/imoten2/bin # imotenからimoten2に変更
        ./imoten2 stop # imotenからimoten2に変更
        ./imoten2 start # imotenからimoten2に変更
}

# 保存してviエディタを終了します

imoten2用のimoten.iniの設定にあたっては下記例を想定しての設定となります。
メールサーバホスト名:mail.sasaki.jpn.com
転送用メールアドレス:docomo2@sasaki.jpn.com
転送用メールアカウント:docomo2

# /Applications/imoten2/imoten.iniを編集します
macmini:~ macmini$ sudo vi /Applications/imoten2/imoten.ini

# UTF-8で保存すること
# [#]で始まる行はコメント
# コメントアウトしない*の部分は書き換えてください

docomo.id=docomo ID
docomo.passwd=docomo IDのパスワード

smtp.server=main.sasaki.jpn.com
smtp.port=25
smtp.connecttimeout=10
smtp.timeout=30
smtp.tls=false
smtp.from=iモードメールアドレス

smtp.auth.user=docomo2
smtp.auth.passwd=転送用メールアカウントのパスワード

# POP before SMTP認証が必要な場合に指定する
#popbeforesmtp.server=*
#popbeforesmtp.user=*
#popbeforesmtp.passwd=*

# メールの題名に絵文字があった場合、[晴れ]のように置き換える
emojireplace.subject=false

# メールのボディの絵文字の置き換え方法
# [inline]の場合、絵文字をGMailの画像に置き換え、その画像をメールにインラインで添付します。
# メールはHTMLメールに変換されます。
# [link]の場合、絵文字をGMailの画像へのリンク<img src="...">に置き換えます。
# 絵文字を表示するには、メール閲覧時インターネットにつながっている必要があります。
# メールはHTMLメールに変換されます。
# [label]の場合、絵文字をはれ]の様な説明ラベルに置き換えます。
# [none]の場合、絵文字の置き換えを行いません。PCで表示すると絵文字は正しく表示されません。
# デフォルト[inline]。
emojireplace.body=inline

# 受信メールの題名の先頭に追加する
#forward.subject.prefix=[iFw]

# 送信メールの題名の先頭に追加する
#forward.sent.subject.prefix=[iSentFw]

# 送信メールを転送する場合true
#forward.sent=true

# 転送先(複数の場合は[,]区切りで指定する)
forward.to=docomo2@sasaki.jpn.com
#forward.cc=
#forward.bcc=

# Reply-toヘッダ
#forward.replyto=

# [false]の場合、From,CC,Date等のヘッダにimodeメールの情報を指定します。
# [true]の場合、From,CC,Date等のヘッダを[smtp.from]など実際の送信時の情報を指定します。
# デフォルト[true]。
forward.rewriteaddress=false

# [true]の場合、メールのボディの先頭にimodeメールのFrom,CCなどの情報を追加します。
# デフォルト[true]。
forward.headertobody=false

# imode.net の新着チェック間隔(秒)
imodenet.checkinterval=60

# imode.net のログインエラー時のリトライ間隔(秒)
imodenet.logininterval=60

# [true]の場合、imode.netでログイン時のCookieを保存して、次の起動時に使用する。
save.cookie=true

# httpクライアントのタイムアウト(秒)
http.conntimeout=30
http.sotimeout=30

# trueにするとメール送信時にログが出力されます。
mail.debug=false

# UTF-8に未対応のメーラーの場合、iso-2022-jpを指定してみてください。
# mail.encode=UTF-8

# メールの本文部分のContent-Transfer-Encodingを指定します。
# 文字化けする場合、[7bit]を指定してみてください。
#mail.contenttransferencoding=7bit

# imode.net経由で携帯メールを送信
# SMTPをListenするポート番号
sender.smtp.port=52525 # メールクライアントのSMTPサーバ設定時に指定するポート番号(imoten2のポートはimotenとは別のポートに変更します)

# SMTP認証
sender.smtp.user=imode.net経由でメールを送信する場合の認証ユーザ # メールクライアントのSMTPサーバ設定時に指定するユーザ名を入力
sender.smtp.passwd=imode.net経由でメールを送信する場合の認証パスワード

# sender.alwaysbcc=

# TLSを有効にする
sender.smtp.tls.keystore=../sasaki.jpn.com.keystore
sender.smtp.tls.keytype=JKS
sender.smtp.tls.keypasswd=keystoreファイル作成時のキーストアパスワード

# メール件名の絵文字変換
forward.subject.charconvfile=../conv/genDocomo2sb.csv
# メール本文の絵文字変換
sender.charconvfile=../conv/unicode2docomo.csv,../conv/genSb2docomo.csv
# Shift_JISからunicode変換補正を有効
sender.convertsoftbanksjis=true
# 返信時の引用削除
sender.stripiphonequote=true
# 返信時のRe:が増えない
sender.docomostylesubject=true

保存してviエディタを終了します

# imoten2を起動します
macmini:~ macmini$ sudo /sbin/SystemStarter start imoten2
Starting imoten
Starting imoten(i mode mail tensou)with test action: with test action: ...

ルータの設定変更

ルーターのNAT設定でiモードメールを送信する為にimoten.iniのsender.smtp.portに設定したポート番号(上記例だと52525)がLion Serverに変換されるようにします。

あとは相方のiPhoneも前回と同じようにメールアカウントを設定すれば完成です。
Lion Serverにimotenを2つ動かし、それぞれ別のiモードメールの送受信ができるようになりました。

OS X Lion Serverにimotenを導入してiPhoneでDocomo iモードメールを送受信する

投稿者:yasu 更新日時:2012年7月25日 1時25分17秒
カテゴリApple, imoten, iPhone/iPod touch/iPad, OS X, 自宅サーバー
タグ

前回の検討の結果、SoftBank SIMを利用した方が月々の料金は安いけど、MMSやFaceTimeよりテザリングの方が必要になることが多いyasuとしては少し料金が高くなってもDocomoの方がいいだろうということでSIMフリーiPhoneにDocomo SIMを挿して利用していきたいと思います。

そこで今回はiPhoneでDocomo iモードメールの送受信を可能にしてくれるimotenをOS X Lion Serverに導入してみたいと思いますが、SIMフリーiPhoneにDocomo SIMを挿して、かつiモードメール送受信を行う為にはいくつかの準備が必要なのでそちらもあわせて確認していきたいと思います。

SIMフリーiPhoneにDocomo SIMを挿してiモードメール送受信に必要なもの

SIMフリーiPhone

iPhoneにDocomo SIMを挿して利用する場合はSIMフリーiPhoneの購入が必要です。
なおauかSoftbankのiPhoneとDocomo携帯の2台持ちでもimotenを導入すればDocomoのiモードメールをauかSoftbankのiPhoneで送受信できるようになります。
Buy iPhone - Apple iPhone Deals, iPhone 4, iPhone 3gs & iPhone accessories - EXPANSYS 日本
2012年7月24日現在でSIMフリーiPhone 4S 16GBが53,000円程度とお買い得になってきました。

Docomo SIMカード

FOMAもしくはXiどちらでも可です。
iPhone 3GS以前はUIMカード、iPhone 4以降はminiUIMカードが必要です。
yasuはFOMAのminiUIMカードで試してみたいと思います。

iモード

Docomo iモードメールのメールアドレス(@docomo.ne.jp)取得に必要です。
SPモードはDocomoから発売されているスマートフォンしかパケット通信できないよう制御されているようです。
iモードの契約はMyDocomoからはできないので総合お問い合わせ(151)に電話して申し込むかDocomoショップに行く必要があります(月額315円税込)。

iモード.net

これを契約しないとimotenがDocomo iモードメールを送受信できません。
MyDocomoから契約可能です(月額210円税込)。

Mopera U

SIMフリーiPhoneにDocomo SIMを挿してパケット通信(Webやメール)する為に必要です。
パケット通信だけできればいいよって人はUライトプラン(月315円)を、パケット通信以外にmoperaのメールアドレスや公衆無線LANも使いたいって人はUスタンダードプラン(月525円)を契約します。
※xiの場合はUスタンダードプランしか選択肢がないようです
MyDocomoから契約可能です。

Docomo iモード対応端末

iモードのメールアドレスの初期設定やメールアドレスの変更時に必要です。
またimotenでメールを受信してもiモードセンターに蓄積したメールは自動削除されません。
720時間(30日)以内に10MBの範囲でメール受信が1,000通を越えた場合iモードセンターでメールを受信できなくなりますので、iモードセンターでメール受信ができなくなった場合はiモード対応端末でメール受信をしてiモードセンターのメールを自動削除してあげてください。
iモードご利用規則(FOMA) | サービス・機能 | NTTドコモ

Docomo iモードメール転送用メールアドレス

imotenはiモード.net経由で受信したDocomo iモードメールを別のメールアドレスに転送するものなので転送用のメールアドレスが必要です。
yasuは独自ドメイン+OS X Lion Serverに構築したメールサーバで作成したメールアカウントを利用しますが、基本的にはどんなメールアカウントでもOKです。
プッシュ通知でリアルタイムにiモードメールの受信を確認したいのであればGmailやYahoo!メールでもイイと思います。

サーバ

imotenを動かすサーバ。
yasuはOS X Lion Serverにimotenを導入しますが、imotenはJAVAで作られているのでJDKを導入すればWindowsやLinuxのレンタルサーバでもOKです。

imoten

imotenはDocomo iモードメールをimode.netを経由して、別のメールアドレスへ転送するプログラムです。

ここまでがSIMフリーiPhoneにDocomo SIMを挿してiモードメールの送受信をするのに必要なものです。
続いてimotenをOS X Lion Serverに設定していきます。

imotenの設定

ここからはOS X Lion Server上の操作になります。

yasuのOS X Lion Serverの環境ですが
OS X Lion Server バージョン:10.7.4
JAVA バージョン:1.6.0_33
で実施しています。

OS X Lion ServerはJAVAを別途インストールする必要がありますのでAppleのサイトからダウンロードしてインストールしておいてください。

下記ダウンロードページからimoten(2012年7月24日現在の最新版1.1.37)をダウンロードします。
imoten - imode.netのメールをSMTPで転送するプログラム - Google Project Hosting ←TOPページ
Downloads - imoten - imode.netのメールをSMTPで転送するプログラム - Google Project Hosting ←Downloadページ

ダウンロードしたzipファイルを解凍します。

解凍したimoten-1.1.37を /Applications に移動し、ディレクトリ名をimoten-1.1.37からimotenにリネームします。

ターミナルを起動してimotenのインストールを実施します。
なおインストール手順はimotenのサイトにも書いてありますので、基本そのままです。
Install - imoten - インストール手順 - imode.netのメールをSMTPで転送するプログラム - Google Project Hosting

インストール手順

# /Applications/imoten/conf/wrapper.confを編集します
macmini:~ macmini$ sudo vi /Applications/imoten/conf/wrapper.conf
# Java Application
wrapper.java.command=/System/Library/Frameworks/JavaVM.framework/Versions/1.6
/Commands/java
 # 表示の都合上、途中で明示的に改行しましたが実際は1行で記載してください

# Application parameters. Add parameters as needed starting from 1
wrapper.app.parameter.1=immf.ServerMain
wrapper.app.parameter.2=immf.ServerMain # 先頭の#(シャープ)を削除してコメントを解除します

保存してviエディタを終了します

# imotenに実行権限を付与します
macmini:~ macmini$ sudo chmod +x /Applications/imoten/bin/imoten
macmini:~ macmini$ sudo chmod +x /Applications/imoten/bin/wrapper*

# imotenのスタートアップの設定を行います
macmini:~ macmini$ sudo mkdir /Library/StartupItems/imoten
macmini:~ macmini$ sudo cp /Applications/imoten/bin/mac_startup/* /Library/StartupItems/imoten/ # ここも改行されてますが実際は1行です
macmini:~ macmini$ sudo chmod -R 755 /Library/StartupItems/imoten

設定ファイル変更

続いてimotenの設定ファイルを自分の環境にあわせて変更します。
詳細はimotenディレクトリ直下にあるParameter.txtを参照してください。

imoten.iniの設定にあたっては下記例を想定しての設定となります。
メールサーバホスト名:mail.sasaki.jpn.com
メールサーバポート番号:25(TLSは未使用)
転送用メールアドレス:docomo@sasaki.jpn.com
転送用メールアカウント:docomo

# /Applications/imoten/imoten.iniを編集します
macmini:~ macmini$ sudo vi /Applications/imoten/imoten.ini

# UTF-8で保存すること
# [#]で始まる行はコメント
# コメントアウトしない*の部分は書き換えてください

docomo.id=docomo ID
docomo.passwd=docomo IDのパスワード

smtp.server=main.sasaki.jpn.com
smtp.port=25
smtp.connecttimeout=10
smtp.timeout=30
smtp.tls=false
smtp.from=iモードメールアドレス

smtp.auth.user=docomo
smtp.auth.passwd=転送用メールアカウントのパスワード

# POP before SMTP認証が必要な場合に指定する
#popbeforesmtp.server=*
#popbeforesmtp.user=*
#popbeforesmtp.passwd=*

# メールの題名に絵文字があった場合、[晴れ]のように置き換える
emojireplace.subject=false # 絵文字は絵文字のまま表示したいのでfalseに変更

# メールのボディの絵文字の置き換え方法
# [inline]の場合、絵文字をGMailの画像に置き換え、その画像をメールにインラインで添付します。
# メールはHTMLメールに変換されます。
# [link]の場合、絵文字をGMailの画像へのリンク<img src="...">に置き換えます。
# 絵文字を表示するには、メール閲覧時インターネットにつながっている必要があります。
# メールはHTMLメールに変換されます。
# [label]の場合、絵文字をはれ]の様な説明ラベルに置き換えます。
# [none]の場合、絵文字の置き換えを行いません。PCで表示すると絵文字は正しく表示されません。
# デフォルト[inline]。
emojireplace.body=inline

# 受信メールの題名の先頭に追加する
#forward.subject.prefix=[iFw] # 先頭に#をつけてコメント化

# 送信メールの題名の先頭に追加する
#forward.sent.subject.prefix=[iSentFw]

# 送信メールを転送する場合true
#forward.sent=true

# 転送先(複数の場合は[,]区切りで指定する)
forward.to=docomo@sasaki.jpn.com
#forward.cc=
#forward.bcc=

# Reply-toヘッダ
#forward.replyto=

# [false]の場合、From,CC,Date等のヘッダにimodeメールの情報を指定します。
# [true]の場合、From,CC,Date等のヘッダを[smtp.from]など実際の送信時の情報を指定します。
# デフォルト[true]。
forward.rewriteaddress=false # ヘッダにimodeメールの情報を付与したいのでfalseに変更

# [true]の場合、メールのボディの先頭にimodeメールのFrom,CCなどの情報を追加します。
# デフォルト[true]。
forward.headertobody=false # メールボディにimodeメールの情報を付与したくないのでfalseに変更

# imode.net の新着チェック間隔(秒)
imodenet.checkinterval=60 # 1分程度でよいので60秒

# imode.net のログインエラー時のリトライ間隔(秒)
imodenet.logininterval=60

# [true]の場合、imode.netでログイン時のCookieを保存して、次の起動時に使用する。
save.cookie=true

# httpクライアントのタイムアウト(秒)
http.conntimeout=30
http.sotimeout=30

# trueにするとメール送信時にログが出力されます。
mail.debug=false

# UTF-8に未対応のメーラーの場合、iso-2022-jpを指定してみてください。
# mail.encode=UTF-8

# メールの本文部分のContent-Transfer-Encodingを指定します。
# 文字化けする場合、[7bit]を指定してみてください。
#mail.contenttransferencoding=7bit

# imode.net経由で携帯メールを送信
# SMTPをListenするポート番号
sender.smtp.port=42525 # メールクライアントのSMTPサーバ設定時に指定するポート番号(先頭の#を削除してコメント解除)

# SMTP認証
sender.smtp.user=imode.net経由でメールを送信する場合の認証ユーザ # メールクライアントのSMTPサーバ設定時に指定するユーザ名を入力
sender.smtp.passwd=imode.net経由でメールを送信する場合の認証パスワード

# sender.alwaysbcc=

# TLSを有効にする
sender.smtp.tls.keystore=../sasaki.jpn.com.keystore # 先頭の#を削除してコメント解除とkeystoreファイル名を指定(keystoreファイルは後で作成します)
sender.smtp.tls.keytype=JKS # 先頭の#を削除してコメント解除
sender.smtp.tls.keypasswd=keystoreファイル作成時のキーストアパスワード # 先頭の#を削除してコメント解除とkeystoreファイル作成時のパスワード

# メール件名の絵文字変換
forward.subject.charconvfile=../conv/genDocomo2sb.csv
# メール本文の絵文字変換
sender.charconvfile=../conv/unicode2docomo.csv,../conv/genSb2docomo.csv
# Shift_JISからunicode変換補正を有効
sender.convertsoftbanksjis=true
# 返信時の引用削除
sender.stripiphonequote=true
# 返信時のRe:が増えない
sender.docomostylesubject=true

保存してviエディタを終了します

keystoreファイルを作成してTLS有効

iPhoneからiモードメールを送信する場合、imotenをSMTPサーバに見立てて送信します。
imoten.iniファイルに指定したkeystoreファイルを作成してTLSを利用します。
keystoreファイルを作成する際ターミナル上でkeytoolを使うのですが、文字コードがShift-JISじゃないと文字化けするのでkeytool実行前にターミナルの環境設定画面の[設定]-[詳細]の中にある文字エンコーディングを「日本語(Mac OS)」から「日本語(ShiftJIS)」に変更しておきます。

macmini:~ macmini$ cd /Applications/imoten
macmini:imoten macmini$ sudo keytool -genkeypair -alias sasaki.jpn.com -keyalg RSA -keysize 2048 -keystore sasaki.jpn.com.keystore -validity 3650 -v
キーストアのパスワードを入力してください: imoten.iniのsender.smtp.tls.keypasswdに指定したキーストア パスワード
新規パスワードを再入力してください: 新規パスワード
姓名を入力してください。
[Unknown]: mail.sasaki.jpn.com
組織単位名を入力してください。
[Unknown]: 何も入力せず[Enter]キーを押下
組織名を入力してください。
[Unknown]: sasaki.jpn.com
都市名または地域名を入力してください。
[Unknown]: urayasu
州名または地方名を入力してください。
[Unknown]: chiba
この単位に該当する 2 文字の国番号を入力してください。
[Unknown]: JP
CN=mail.sasaki.jpn.com, OU=Unknown, O=sasaki.jpn.com, L=urayasu, ST=chiba, C=JP でよろしいですか?
[no]: yes

3,650 日間有効な 2,048 ビットの RSA の鍵ペアと自己署名型証明書 (SHA1withRSA) を生成しています
ディレクトリ名: CN=mail.sasaki.jpn.com, OU=Unknown, O=sasaki.jpn.com, L=urayasu, ST=chiba, C=JP
の鍵パスワードを入力してください。
(キーストアのパスワードと同じ場合は RETURN を押してください): 最初に入力したキーストア パスワードを再入力
新規パスワードを再入力してください: 最初に入力した新規パスワードを再入力
[sasaki.jpn.com.keystore を格納中]

# keystoreファイルが作成されているか確認します
macmini:imoten macmini$ ls -l sasaki.jpn.com.keystore
-rw-r--r-- 1 root staff 2240 7 24 11:07 sasaki.jpn.com.keystore ← keystoreファイルができていればOK

※変更した文字エンコーディングを元に戻しておきます。

imotenサービス起動

imotenのサービスを起動します。

macmini:imoten macmini$ sudo /sbin/SystemStarter start imoten
Starting imoten
Starting imoten(i mode mail tensou)with test action: with test action: ...

ルータの設定変更

ルーターのNAT設定でiモードメールを送信する為にimoten.iniのsender.smtp.portに設定したポート番号がLion Serverに変換されるようにします。

Lion Serverのpostfixの設定変更

yasuの環境の問題だと思うのですが、Lion Serverのpostfixにある「迷惑メールフィルタ」が有効になっているとimotenがiモード.netから受信したiモードメールをLion Server上のpostfixに転送できなかったので、迷惑メールフィルタのチェックを外しました。
※迷惑メールフィルタを外さなくてもいい方法がないかもう少し調査を継続してみたいと思います

iPhone メール設定

iPhoneにメールアカウントの設定を行います。
細かい手順は省略しますが、メールアカウントは以下のような設定になります。

名前:自分の名前
メール:docomo@sasaki.jpn.com
説明:iPhoneのメールアカウント一覧を識別するための文字列(メールアドレスと同一でいいと思います)

※iモードメール転送先のメールアカウント(yasuの場合はOS X Lion Serverに構築したメールサーバやメールアカウント)を設定します
受信メールサーバ
 ホスト名:mail.sasaki.jpn.com
 ユーザ名:docomo
 パスワード:docomoアカウントのパスワード
 SSLを使用:オン
 認証:MD5チャレンジ応答
 サーバポート:IMAPSのポート番号

送信メールサーバ
 ホスト名:mail.sasaki.jpn.com
 ユーザ名:imoten.iniのsender.smtp.userに設定したユーザ名
 パスワード:imoten.iniのsender.smtp.passwdに設定したパスワード
 SSLを使用:オン
 認証:パスワード
 サーバポート:imoten.iniのsender.smtp.portに設定したポート番号

SIMフリーiPhoneにDocomo SIMを挿してパケット通信

SIMフリーiPhoneにDocomo SIMを挿してパケット通信するにはAPNの設定が必要です。
iPhoneの[設定]-[一般]-[ネットワーク]-[モバイルデータ通信ネットワーク]とタッチします。
モバイルデータ通信のAPNとインターネット共有のAPNにmopera.net(パケ・ホーダイプランの場合)と入力します。
これでSIMフリーiPhoneにDocomo SIMを挿してパケット通信ができるようになります。

なお128kバイト通信やデータ定額プランの接続方法は下記ページを参考にしてみてください。
01.ドコモiPhone用の通信設定は? - docomoでiPhoneを使おう!

iモードメール送受信の確認

最後にiモードメールの送受信の確認をします。
まずはGmailからDocomoにメールを送信して、iモードメールの受信の確認をしてみます。

imotenが60秒毎(時間は設定で変更可)にiモード.netにメールチェックして、メールがあると自分のアカウントにメールを転送してくれます。
Lion Serverのメールサーバはメールを受信するとリアルタイムでプッシュ通知してくれるので、この通りプッシュ通知が届きます。

メールを開いてみると、GmailからDocomoに送信したメールがiPhoneで読めます。

今度はDocomoからGmailに返信して、iモードメールの送信を確認します。

Gmail側でメールを確認するとDocomoのメールアドレスからメールが送信されてきているのが確認できます。

駆け足で設定してきましたが、OS X Lion Serverにimotenを設定してiPhoneでiモードメールの送受信ができるようになりました。
メール受信はプッシュ通知でほぼリアルタイム通知です。
テザリングも携帯メールもできる最強のiPhoneになったのではないでしょうか。

imotenの設定がうまくいかない人はサイトに導入手順やimoten.iniの設定サンプルがありますので、よく読んで設定してみてください。

Mountain Lion Serverがでる前に記事を公開できて本当によかった〜。
次回のOS X Server設定シリーズはMountain Lion Serverになるかもしれません。

■参考サイト
たぶんホント
docomoでiPhoneを使おう!

Lion Serverに設定したAppleプッシュ通知 新しいAppleIDにしてもダメでした

投稿者:yasu 更新日時:2012年7月21日 15時32分24秒
カテゴリApple, iPhone/iPod touch/iPad, OS X, 自宅サーバー
タグ

Lion Serverに設定したAppleプッシュ通知ですが、メールを受信しても時々iPhoneにプッシュ通知がこない事があり、新しいAppleIDを取得してしばらく様子をみていたのですが、やっぱりプッシュ通知がこない時がありました。
Lion Serverに設定したAppleプッシュ通知 メールを受信してもiPhoneにプッシュ通知がこない時がある » sa-sa-ki.jpのblog
Lion Serverに設定したAppleプッシュ通知 新しいApple IDを取得 » sa-sa-ki.jpのblog

Lion Serverの問題なのか、Appleプッシュ通知サービス側の問題なのかわかりませんが、正直お手上げです。
Lion Serverの問題なのであれば今月発売予定のMountain Lion Serverにさっさと移行しようと思うのですが、Appleプッシュ通知サービス側の問題だとするとどうにもなりませんね。

Lion Serverに設定したAppleプッシュ通知 新しいApple IDを取得

投稿者:yasu 更新日時:2012年7月19日 22時52分22秒
カテゴリApple, iPhone/iPod touch/iPad, OS X, 自宅サーバー
タグ

Lion ServerにAppleプッシュ通知を設定しているにもかかわらずメール受信した際にエラーが出てiPhoneにプッシュ通知が来ない件で、昨日ルータのNAT設定で2195、2196、5223番ポートをLion Serverに向けて様子をみていましたがエラーが発生して困っていたのですが、今日Appleプッシュ通知用に新しいApple IDを取得してみました。

新しいApple IDを取得してプッシュ通知用に設定したら。今のところ100%iPhoneにプッシュ通知が届いています。

しばらく経過観察したいと思います。

Lion Serverに設定したAppleプッシュ通知 メールを受信してもiPhoneにプッシュ通知がこない時がある

投稿者:yasu 更新日時:2012年7月19日 1時04分14秒
カテゴリiPhone/iPod touch/iPad, OS X, 自宅サーバー
タグ

Lion Serverのプッシュ通知設定ですが、メール受信時にiPhoneにプッシュ通知がこない事があります。

Lion Serverのsystem.logに下記のような出力がありました。

Jul 18 23:57:26 macmini com.apple.APNBridge[116]: Received stream error (The operation couldn’t be completed. Connection reset by peer) on incoming stream APN to host gateway.push.apple.com:2195
Jul 18 23:57:26 macmini com.apple.APNBridge[116]: Disconnected from apn server gateway.push.apple.com for topic com.apple.mail.XServer.b55c7ede-deb6-450e-b25e-2cf375dd4660: error The operation couldn’t be completed. Connection reset by peer
Jul 18 23:57:26 macmini com.apple.APNBridge[116]: Will attempt to reconnect stream APN to host gateway.push.apple.com:2195 in 15 seconds

どうやら同じような事象で悩まれている方が何人かいらっしゃる模様なのですが、具体的な解決方法はよくわかりません。
Push Notifications サービス « Tokyo life with iPhone
Lion Server push notifications to iOS5: Apple Support Communities
"Error getting push certificate" in...: Apple Support Communities

Google翻訳サイトで翻訳してみましたが「gateway.push.apple.comに着信ストリームのAppleのプッシュ通知で受信したストリームエラー(ピアによる操作を完了できませんでした接続のリセット)」と残念な翻訳結果ですがとにかくAppleプッシュ通知サーバー側?でエラーになっているようです。

2195番ポートがなんなのかというとApple プッシュ通知サービス (APNS)用のポートのようです。
Apple ソフトウェア製品で使われる一般的な TCP および UDP ポート

とりあえず2195、2196、5223番ポートがApple プッシュ通知サービス関連のポートのようなのでルータのNAT設定でこれらポートからのアクセスをLion Serverにくるようにして様子をみたいと思います。

Lion Serverのメールサーバに届いたメールが受信直後に消失!?

投稿者:yasu 更新日時:2012年7月14日 9時16分52秒
カテゴリApple, iCal, OS X, postfix
タグ

Lion Serverのメールサーバに届いたメールが受信直後に消失するという原因不明の事象が発生しました。
原因が全然わかんなくて、ハマりました。
ユーザーアカウント再作成してもメール消えちゃうし、元々のアカウント名の後ろに2を付けた新しいアカウントでもメールが消えちゃうんです。
もういっそのことLion Serverの再インストールすら考えたのですが、ダメ元で探したところありました。
メールが消失される: Apple サポートコミュニティ

原因はiCal Serverを有効化し、「メールアドレスを使った参加依頼を許可」というオプションのプッシュ通知に使用するメールアドレスにこのメールアドレスを指定したのが原因だったようです。

Lion Serverを使われてる皆さんも(そんなにいないって??)、iCal Serverとpostfixの設定をする場合は気をつけてください。
次バージョンでは修正されるといいですね。