Mac

Mac OS X (Mountain Lion)で、Postfix(sendmail)の設定を行いコマンドからgmail/icloudアドレスでメールを送る

OS X Mountain Lion にてローカルの sendmail (postfix )を利用できるように設定をしたのでメモをしておきます。Postfixなんてなつかし〜と思いながら結構つまづいています。

Medium 19705415

まず、いくつか設定を行わないとそもそも動作しないので postfix の構成から行います。これらを正しくしていないといくつかエラーがが発生するので注意が必要です。上手く送信されていないなと思ったりした場合には /var/log/mail.log 等を参考に直していく事になります。

Step 1

まず始めに、Postfixの設定を修正します。これを実施しない場合には

sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory

というエラーが表示されます。


sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start

さらに警告が出てくると思われるので以下おコマンドを実行する。また構成のチェック等は postfix check を行う事で確認する事も出来るので覚えておきましょう。


sudo chmod g-w /Library/Server/Mail/Data/mta
sudo postfix check
sudo postfix reload

Step 2

次に、送信するメール(リレー)サーバの設定を行います。これにはgmailやme.com等を利用すると良いかと思います。MacOSX 常時のメールサーバにする場合にはまた別の設定になりますのでここでは取り扱いません。普通のメールクライアントの様な利用法を想定します。設定は全て /etc/postfix/main.cf に記載されます。



# Gmail
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes
tls_random_source=dev:/dev/urandom



# mail.me.com
relayhost = [smtp.mail.me.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes
tls_random_source=dev:/dev/urandom

★ iCloud:メールサーバの情報

上記は gmail.com と me.com の例を掲載しています、実際にはどちらか一方の設定を記載するようにしておきます。変更した後には上記のStep1同様にcheck / reload をしておきましょう。

Step 3

上記の設定でメールのユーザ管理には sasl (Simple Authentication and Security Layer )を利用するという定義になっているのでこれに必要な処理を行います。これはユーザのパスワード等を記載した物になります。


vi /tmp/sasl_passwd

等のコマンドでファイルを作成します。内容は gmail / me.com に応じてサーバの箇所を変更して以下のように記載します。


[smtp.gmail.com]:587 [email protected]:

上記のファイルにたいして暗号化を行い、定義された場所(/etc/postfix/)に移動します。元のファイルは不要ですので消すかパスワードの箇所を削除しておきましょう


postmap /tmp/sasl_passwd
cp -p /tmp/sasl_passwd.db /etc/postfix/sasl_passwd.db
postfix check
psotfix reload

ファイル名等は間違いないようにしましょう。

Step 4

次に実際にメールを送付してみましょう。以下の様なテキストを作成して sendmail コマンドで発行しても良いですし mailコマンドで実施しても良いでしょう。


from: [email protected]
To: [email protected]
Subject: test
Content-Type: text/plain; charset=iso-2022-jp

TEST

の用な物を aaa.txt に記載しておき

sendmail -t < aaa.txt

という感じで送付する事が出来ます。

Step5

実際に送信してみると上手く動作しない場合等があるかもしれません、postfix は多く管理用のコマンドを持っているので調査する事が出来ます。

  • キューの確認 : mailq
  • キューの強制的な採草 : psotqueue -f

等でまずは調べてみましょう。送信されていないようであれば /var/log/mail.log に解決の糸口があるかもしれません。実際には Mountain Lion 特有の問題ではないのかもしれませんのでググれば糸口は結構見つかると思います。

実際に何のために設定したかと言えば、普段コマンド環境で tmux を利用しているのですがコンソールの画面の内容をさっとメールで送ったりする事が出来るので結構便利に使う事が出来るようになるのです。その際に送信先を evernote のアドレス等にしておくと結構便利に情報を集める事が出来るので助かります。


[Mac] homebrew が最新の Xcode でうごかない場合の対処

最近 TMux、のPowerline が使用したくてやってみようと思ったら brew が動かなくなっていました。これはXCodeのコマンドラインツールが最近のXcodeに含まれなくなったためでした。 Homebrew は動かないと色々診断してくれるので便利ですね。
とはいえ、大分前の Xcode 4.5位からの話だとの事でずっと使っていなかったから発生しているだけであまり該当する人は少ないかと思います。最近の導入手順には書いていますしね。 ( [Mac] Mountain Lionへパッケージ管理「Homebrew」をインストールする手順のメモ | Tools 4 Hack )

古いXcodeのままだとこんなエラーが出ます。


Error: Failed executing: make prefix=/usr/local/Cellar/git/1.7.10.1 CC=/usr/bin/xcrun\ clang CFLAGS=-Os\ -w\ -pipe\ -march=native\ -Qunused-arguments LDFLAGS= install (git.rb:49)
If `brew doctor' does not help diagnose the issue, please report the bug:
https://github.com/mxcl/homebrew/wiki/reporting-bugs

こんな感じに `brew doctor` してみなって言われますので実際に実行してみると

Error: You have no /usr/bin/cc.
This means you probably can't build *anything*. You need to install the Command
Line Tools for Xcode. You can either download this from http://connect.apple.com
or install them from inside Xcode's Download preferences. Homebrew does not
require all of Xcode! You only need the Command Line Tools package!
Error: Git could not be found in your PATH.
Homebrew uses Git for several internal functions, and some formulae use Git
checkouts instead of stable tarballs. You may want to install Git:
brew install git
Error: /usr/X11 is a symlink
Homebrew's X11 support has only be tested with Apple's X11.
In particular, "XQuartz" and "XDarwin" are not known to be compatible.
sh: git: command not found
Error: Your Homebrew is outdated
You haven't updated for at least 24 hours, this is a long time in brewland!

っていくつか言われています。最初のやつはXCodeのコマンドライン版が入っていないという事です。こちらに関しては最近のXcodeから似なりますが簡単に入れる事が出来ます。Xcodeを起動して「Preference」-> 「Download」で「Command line tools」があるのでこちらを「Install」すれば自動的に入ります。

スクリーンショット 2012 11 19 0 13 2

らくちんですね。再度 `brew doctor`してみましょう。


Error: /usr/X11 is a symlink
Homebrew's X11 support has only be tested with Apple's X11.
In particular, "XQuartz" and "XDarwin" are not known to be compatible.
Error: Your Homebrew is outdated
You haven't updated for at least 24 hours, this is a long time in brewland!

という感じになりました。アップデートしてねと言われているのでアップデートすると色々パッケージが入ります。その後も doctor のお世話になりながら進めていくとエラーが消えるところまで行けます。

ようやくこれで使用できるようになりました。

参考
・ Lion へアップグレードしたら Homebrew が動かなくなったりもしたけれど、私はげんきです – 彼女からは、おいちゃんと呼ばれています

[Mac][Win]Sublime Text のススメと最初にすべき日本語入力環境の改善

様々な宗教戦争が発生してるエディタ界隈ですがここに来て第三勢力(そう呼ばれたのはたくさんありそうだけど)のSublimeTextがなかなか良かったので紹介をしたいと思います。ここでは、主にWindows環境について記載しますがこのSublimeTextは、Linux/Windows/Macとマルチプラットフォームで稼働するのも見逃せないポイントですね。これまでの多くのエディタ同様に様々なことが出来る統合型のエディタですがなにより最初から「ある程度使える」というのが一番ではないかと思います。

スクリーンショット_103112_113819_PM
Sublime Text: The text editor you’ll fall in love with http://www.sublimetext.com/

 

日本語入力のインライン入力

日本語環境として見た場合、インラインでの入力ができないのが一番使いづらいところかと思います。この問題を解消するためのプラグインがあるので導入をします。

こちらのリンクにあります。「インストール方法」に記載されている通りGitが必要ですが簡単に導入することができます。WindowsXPの場合には %Appdata%\Sublime Text2\Packages 以下で git clone https://github.com/chikatoike/IMESupport.git で導入することができます。 私は、WindowsXP+Google日本語入力 で動作を確認しています。

スクリーンショット_103112_114340_PM

 

メニューの日本語化

メニュー自体は慣れのようなものがあるので「英語」のまま利用したほうが良いかと思いますが日本語化することもできます。こちらはUser定義でオーバーライト出来ないのでDefaultsの方を上書きする事が必要です。

上記のサイトでは導入先がわかりづらいのですが、WindowsXPの場合には %Appdata%\Sublime Text2\Packages\Default 以下にあるファイルを置き換えます。事前に上書きするファイルをバックアップ取得しておきましょう。

スクリーンショット_103112_115306_PM

 

Shift_JISファイルを取り扱う

SublimeTextは標準ではUTF8に対応はしていますが他の日本語コードには残念ながら対応をしていません。普段は最近ではUTF8で問題無いですが一部にはやはりSJISで使用したい場合などはこちらのプラグインで対応をすることできます。実際には、UTF8に変換して保管しているようです。

 

最後に

この3つをとりあえずすれば取っ掛かりとしては十分なのではないでしょうか。Sublime Textは、様々なプラグインやSnippetsを簡単に作成することが出来たりカラーシンタックスも豊富なのでプログラムから文書作成まで色々便利に使えると思います。 単純なテキストエディタとしてもプロジェクトの機能やフォルダツリーを左側のペイン出したりできるので非常に協力にサポートしてくれるように思えます。 またWindows/Macと環境が変わっても同じソフトウェアが使用できるのも強いかと思います。

興味を持ってくれたら是非利用してみてください。

[MAC] メニューバーのログイン項目の非表示方法

ログイン項目とか書いているけど、Mountain Lion になってからマルチユーザ対応なのかこのアイコンがメニューに表示されています。

SystemUIServer

別にこのMacbook Airを複数のユーザで切り替える用途も無いので場所の削減のために非表示にしてみました。

”ユーザとグループの環境変数”を選択して設定画面を起動します。左下の「ログインオプション」をクリックします。

ユーザとグループ

設定を変更するので、左下の鍵をクリックして変更を許可します。

この「ファストユーザスイッチメニューを表示」をクリックするとメニューから非表示にする事が出来ます。それ以外にも「フルネーム」「ユーザ名」「アイコン」を選択する事が出来ます。

ユーザとグループ 3

画面のサイズには限りがあるので不要な物は見えなくするか、小さくするといいですね。

[Mac] TextMateがオープンソースになってやってきた

あのテキストエディタがオープンソース化されたのがつい先日だったのですがどんどん改良が加えられて以前は不都合があった日本語の取り扱いもかなり改善されています。
ソースはgithubに公開されているのですがバイナリも置かれているので頑張ってコンパイルしないでもすぐに試す事が出来ます。

RORが世に出たときにあっという間にコードを書いていたのがこのTextMateでその頃凄く憧れた思いでがあります。日本語に難あり、しかも高いとなって手が出ていなかったので結構楽しみです。

プログラムエディタとしてbundleという機能で色々入力支援をしてくれるのが最大の特徴で使いこなすのは結構大変そうですが最後は便利になりそうなのでちょっとづつ勉強していきたいです。

Untitled

こちらはC言語のソースコードの場合、色が着いて、関数等が▼でまとめられたりな感じの事が出来ます。まだ

Api cc  scm  textmate

Githubからの自力でする場合には、こちらに必要な物も書いてあるので出来るかと思います。

git submodule update –init

ちょっと使ってみたいという人はこちらのバイナリをダウンロードすると良いかと思います。自動アップデート確認の機能もあるので便利そうです。

Downloads · textmate/textmate · GitHub

ちなみにソースが提供されたときのこのエントリーが面白かった。

本の虫: TextMate 2の数多くのバグを修正するpull request
上部へスクロール