SMS-Email Gateway on Android Devices

Update (4/5/20): The author of Relay ME announced that Relay ME was now open-source in early 2017. However, I cannot find any source files hosted anywhere. I believe even the last stable version did no longer work with since Google’s insistence on using oAuth… but please do not quote me on this one.

Relay ME provides a two-way gateway between your SMS and email on your Android devices. This means when you reply to an email that is actually a forwarded SMS, your email reply will be sent to the original sender as an SMS. This feature, however, is not free and you have to purchase its “unlocker” for 370 yen. Its wiki explains how it works. My main handset HTC J currently cannot send texts in a normal fashion (here’s why (in Japanese)); I will purchase the “unlocker” if I managed to fix it some day.

The forwarded SMSes as emails have the subject lines of the following format:

[Relay ME] SMS From XXXXXXXXXXX (Full Name)

Caution: As of version 4.12.1, Relay ME does not properly support international characters and they are just inserted in emails as is. still shows them correctly, but no such luck with Thunderbird.

Text via Email provides similar functionality but it uses its dedicated email server. In Relay ME’s case, you can use any Gmail account and that works better for me.

MightyText allows sending and receiving from your Gmail/Facebook screen with its Chrome extension. This is quite neat if the browser of your choice is Chrome and you access your Gmail account on it. Plus you can have all this functionality for free. In my case, however, I still use the old-fashioned Thunderbird for my email use, so this will not work. A minor con is that the Chrome extension shows your texts as if they are in a folder of your Gmail account, but it is actually a virtual folder and your texts are not saved in your Gmail account.

Even if you do not use its Chrome extension, you could always use its web app at in any modern browser.

Such apps as AirDroid and Webkey allow you to send and receive texts from within your browser, but it feels a little kludgy because it is just one of the many features they support.

A follow up article: “SMS@Email: Another SMS-Email Gateway App for Android Devices

結局Relay MEが見つかったのでそれで自分の目的が達成されることはわかったが、それが分かる前に考えていたこと:

(まず、着信したSMSを自動的に電子メールで転送することについて)SMS Forwarder – Android Apps on Google Playのようなアプリは多種あるが、フォーマットについて自由度が少ない

Tasker/Localeと連携Locale SendSilentMail Plug-In – Android Apps on Google Playカスタマイゼーションが可能なよう

受信したSMSを電子メールとして転送することはできても、それに対する返事として最終的にはSMSとして送信したいメッセージを電子メールで送ったとして、端末でその電子メールをチェックしてそれをSMSとして送れないといけない。まず、HTC Jではドコモ回線では普通の手段ではSMSを送れない。加えて、Android端末単独で着信したGmailメッセージの内容を読み取るのは意外と難しいようだTaskerとK-9 Mailを併用すればサブジェクト等は得られるようだが、本体はダメ外部サービスZapierを使ってGmailの処理は行い、それをAutoRemoteでAndroid端末に通知することは可能のようGoogle Apps Scriptも使えるだろう。

TP-Link TL-WR703N上で走るOpenWrtでメール送信できるように

TP-Link TL-WR703N上で走るOpenWrtでメール送信できるように以下を参照してsSMTPを設定した。

設定は難しくないが、使用法に若干注意が必要。sSMTPのコマンドライン・オプションではサブジェクトを指定できない。To:ヘッダ行も、特に何もしないと完全に欠落する(sSMTPのコマンドラインの引数として送り先アドレスを指定し、実際にそこに送信されても)。自分が想定している用途では、送信者のフルネームを指定できることだけが重要で、それは-Fコマンドライン・オプションで達成できるのだが、サブジェクト行やTo: 行がないのはさすがにキモチワルイ。

linux – Can I make SSMTP to automatically set the ‘To:’ header? – Unix & Linux Stack Exchange“に説明があるように、以下のように起動すればこれらヘッダ行を追加できる:

# cat << END | ssmtp -v -t
To: "送信先の名前" <送信先メールアドレス>
Subject: サブジェクト
From: "送信元の名前" <送信元メールアドレス>


送り先のアドレスはsSMTPコマンドの引数で指定できるし、そのフル・ネームは上述のように-Fコマンドライン・オプションで指定できるのだが、Subject:行やTo:行を含めるためにどうせヒア・ドキュメントを使うのならそれで全てが指定されるように統一したほうがよかろう。-tオプションは、送信先アドレスを標準入力で送り込まれるファイルから探し出すことを指示する。-v は冗長なメッセージを表示させる。

シンブルなメール送信にはsSMTPで十分だが、添付ファイルも扱えるようにするにはmsmtpが利用できるようだ(参考:”msmtp – ArchWiki“)。