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

Read More

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 でうごかない場合の対処

Read More

最近 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] メニューバーのログイン項目の非表示方法

Read More

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

SystemUIServer

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

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

ユーザとグループ

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

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

ユーザとグループ 3

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

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

Read More

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

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

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

Untitled

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

Api cc  scm  textmate

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

git submodule update –init

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

Downloads · textmate/textmate · GitHub

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

本の虫: TextMate 2の数多くのバグを修正するpull request

Windowsでもアプリケーションのバージョンを最新に保つ

Read More

職場でもちょっとした課題になっていたのですがフリーソフト・オープンソフトウェアのバージョンが古いために(そういう意味では商品のソフトだってアップされていないのが多いけどね)セキュリティ上問題があるということ。

image
photo credit: Sanctuary photography → No Longer Active via photo pin cc

 

WindowsのOSなどはまだアップデートが定期的に流れてくるので問題がないけど「勝手に」入れたアプリケーションが問題だという話。MacOSでは最近は AppStore経由で購入した場合アップデートも一元的に実施できるため、アプリのバージョンが上がれば半自動的には最新版になる。囲い込みと言われたりするけどその点でLinux同様にアプリのレポジトリが一元化されているメリットは通常のユーザには非常に大きいと思う。

Windowsの場合にはまだそのような仕組みもなくまた、Linuxなどのようにレポジトリなどもないため更新は各アプリケーション単位で行う必要があり実際このコストは結構バカにならないのですよね。

 

誠 Biz.ID:3分LifeHacking:インストール済みソフトの更新を自動的に実行する(Windows編)

先日、こちらの記事でこの悩ましい問題を解決してくれるソフトを見つけることが出来ました。「AppliStation」です。このアプリは管理されているアプリの導入と、既存に導入されているアプリのアップデートをすることができます。非常に嬉しいのはアプリケーション(EXE)だけでなくDLLなども対象にしてくれているところでしょうか。

 

ダウンロードはこちらから行なって下さい。

AppliStation : ソフトウェア管理システム

このAppliStatoinは、500以上のアプリケーションの最新版を持っていて管理してくれるためローカルに入っているアプリと付きあわせて最新版をダウンロードしてくれるすぐれものです。

起動するとパターンファイルをダウンロードしてその後アプリケーションのリストが表示されます。個々に記載されているアプリをアップデートできるようです。「ソフトウェアの更新」をクリックします。

image

するとアップデート可能なリストが表示されます。ここで×マークがついているのはサイレントインストール可能なアプリケーションのようです。

image

非常に楽にアプリケーションが更新できます。問題になりそうなアプリは覗いたとしてもDLLなど普段気にしていないものも対象とされているのが非常にありがたいですね。網羅性としてはかなりメジャーなものは含まれているので助かります。また機能的に有効かは不明ですがウィルススキャンもされるようですので安全にアプリケーションが導入できそうです。

 

アプリケーションのアップデートは機能の追加だけでなくセキュリティの問題の解消やバグフィックスなどが含まれているケースが多いのでぜひ最新の状態にしておきたいですね。最近アプリには独自に起動時にバージョンチェックをするものも多いのですがノートパソコンで利用している都合もあるのですがアプリが起動時に「オンライン」ではない事が多く結果としてチェックしていないケースが多々有りました。