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 のアドレス等にしておくと結構便利に情報を集める事が出来るので助かります。


[Evernote][Win] 複数のPDFをべつべつのノートで一気に取り込む方法

Read More

Evernoteに複数のPDFを別々のノートとしていれたい場合、なぜかWindowsではうまく行きませんでした。Windowsの場合には全てを選択してドロップすると、一つのファイルにまとまってしまうのです。これがMacの場合には別々のものとして動きました。

実際に、今回は、数百枚のPDF(名刺)を、別々のノートに登録をしたかったのですがMacのクライアントの場合には問題なく動くのですがこれがWindows版のクライアントの場合にはうまく行かなかったのでその他対処方法です。

 

Evernoteのインポートフォルダの機能を利用する

これは、特定のフォルダをEvernoteが監視してくれておりここにファイルを置くと「ファイル単位」でノートを自動的に生成してくれる機能です。ずばりそのままですね!この機能を利用すると実際に利用したかった数百のPDFを自動的に取り込むことができるのです。

  1. Evernote for Windowsを起動して、メニューから「インポートフォルダ」を選択します。
    image
  2. 起動した後に「追加」を選択してテンポラリに使用するフォルダを選択します。(新しくつったほうが無難でしょう)
    image
  3. 何らかのフォルダを選択すると上記のようにフォルダが追加されるので、サブフォルダの監視/ノートブック/ソースの扱いをそれぞれ編集します。項目を選択するとプルダウンするのでその中から選びましょう。
    image

この設定を行なってしまえば後は、大量のPDFでもなんでもフォルダに置くと自動的にノートが作成されるので非常に便利に使うことができます。今回のような用途以外にもアイディア次第で色々使いがってのある機能だと思います。ノートブックの名前は「ファイル名」になるようです。

というわけでこの機能非常に便利なのでまだ使ったことがない人は是非。

[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 が動かなくなったりもしたけれど、私はげんきです – 彼女からは、おいちゃんと呼ばれています