今更だけど完璧なメール送信ライブラリってあるの? (56レス)
1-

12
(1): 2009/08/10(月)01:12 ID:??? AAS
>>10
そこらへんは、--disable-@の直前に.が来ないかチェック なんてオプションで対応使用と思います。

それで、いろいろ考えていたんだけど、
send-mail --from=a@example.com --to=b@example.com -body='test'
なんてオプションで後れる方式もつけるとして、
これだとマルチパートで添付ファイルもついているHTMLメールなど
複雑なメールだとオプションで対応しきれないと思うんだよね。

そこれで、ftpみたいに、コマンド入力形式にしようと考えているんだ。


send-mail [ENTER]
>set-charset iso-2022-jp
>from a@example.com
>to b@example.com
>subject メール
>attach ファイル.zip
>send
13: 2009/08/10(月)01:15 ID:??? AAS
一見、sendmailコマンドと同じように見えるかもしれないけど
あれは、標準入力からうけとった文字列をただ流しているだけ。

>>12の方法はattach見たいな簡易な命令を書くだけで、
Content-Type: multipart/mixed; boundary="---"
なんてヘッダを自動的に補間したり文字コード変換したりするのが違いね。
14: 2009/08/10(月)01:26 AAS
メールでドットが2つあると送れないのあるよね。どうして?
15: 2009/08/10(月)02:37 ID:??? AAS
>>11
そういう変な仕様を思い出したら教えてほしい。

本当はRFCを読むべきなのはわかっているが、
時間がかかるんだ。
16: 2009/08/10(月)04:14 ID:??? AAS
>>1
巷の実装は調べてみたの?

「どのサンプルでも実装できていない問題がある」という事と、
「部分的には満たしてるけど一部残念なところがある」という事は
分けて考えた方がいいと思う。

後者なら書き直せばなんとかなるわけだし、前者なら仕様策定が必要。
17
(1): 2009/08/10(月)11:27 ID:??? AAS
> 巷の実装は調べてみたの?
というか、ちゃんとしているのあるのかなぁ?と。
18
(1): 2009/08/10(月)11:32 ID:??? AAS
> 巷の実装は調べてみたの?

それ無理だわw

だってメールの仕様って思った以上に複雑というか
知られざる罠が存在するんだ。

ぶっちゃけ知らん。 そういう細かい所を知らなくても
簡単に使えるようにしたのが、ライブラリだと思うんだが。
19: 2009/08/10(月)14:43 ID:??? AAS
>>1
そもそもメールサーバ側の実装が怪しい以上RFCを完璧に遵守してもなあ
20: 2009/08/10(月)15:29 ID:??? AAS
文字エンコーディングの必要ない、新しいプロトコルできないものかね?

互換性を保つ為に非対応を検出したらサーバー側で変換する
21: 2009/08/11(火)12:05 ID:??? AAS
>>17-18
なるほど。俺はQdmailというやつを使っている。
外部リンク:hal456.net

コンセプトが気に入ったので使ってるけど、大して多角的には使ってないので、
もし他に評価対象が無いなら、試しに使ってみたらいいかも。オヌヌヌ。

個人的な使用感としては、文字コードとSMTP送信は今の所いい感じ。
変なメールアドレスは試してないのでわからん、といったところです。
22
(1): 2009/08/12(水)07:26 ID:??? AAS
ライブラリってのは柔軟に作ってあって
必要に応じて制限掛けていくもんだろ
>>1は要するに他人が完璧に全て作ったものをそのまま使いたいだけじゃないのか?
23: 2009/08/12(水)09:32 ID:??? AAS
>>22
ま、そうだろうね。
どこそこのサンプルが使いにくい、という具体的な話にならない所を見ると、
もはやクレクレ厨以下の予感がする。
24: 2009/08/12(水)09:45 ID:??? AAS
使って不満なとこを作ってる奴にフィードバックしてやればいいじゃないか。
25: 2009/08/12(水)17:49 ID:??? AAS
> どこそこのサンプルが使いにくい、という具体的な話にならない所を見ると、

どのライブラリも、文字コード変換とMIME変換を
ライブラリの利用者がしないといけないのがダメだな。
特にHTMLやファイル添付をするとき。
26
(2): 2009/08/12(水)20:53 ID:??? AAS
とりあえずたたき台として
CPANモジュール使いまくりの
コマンドライン版メール送信クライアントをおいときますね。

外部リンク[zip]:www.tocd.org
27
(1): 2009/08/12(水)21:01 ID:??? AAS
>>26
仕事はやw

ってきり、sendmailプログラムを入れただけだと思っていたのにwww
28: 2009/08/12(水)21:16 ID:??? AAS
>>27
ちょっと前に作って放置してたやつをうpしただけなので^^
HTMLメール送信機能はないです。
GmailのSMTPサーバを使ってサーバのログ送信するために作りました。
いちおう毎朝WindowsXPのタスクとかいう機能で動かしてます。
29
(1): 2009/08/13(木)12:48 ID:??? AAS
これ、exeは何してるのですか?
30: 2009/08/13(木)12:59 ID:??? AAS
>>29
ppでsendmail.plをコンパイル
31: 2009/08/13(木)20:36 ID:??? AAS
もうすこし詳しく話す必要があるかと
32: 2009/08/13(木)22:22 ID:??? AAS
本当にこの>>26のスクリプトの解説が必要なひとって
いるのかわからんけどいちおう書いておくと、、

perlが動かせる人にとって必要なことは
CPANでモジュールをとってくることだけです。
モジュールがそろえば
コマンドプロンプトから
> perl sendmail.pl
で動きます。

perlが動かせない人にとって必要なものは何もなくて
sendmail.exeをコマンドプロンプトでたたくだけで使えます。
コマンドプロンプトから
> sendmail.exe
で動きます。

同じフォルダにあるSSL関連のライブラリとか
make.batなどのファイルは、ppを使って
sendmail.plをsendmail.exeにするときに使った残骸ですので、
ふつーのひとには必要ないと思います。
33: 2009/08/13(木)22:35 ID:??? AAS
あと、helpは-hをコマンドライン引数につけると出てきます。
(GNU Wgetの書き方をパクったんですが、
typoを修正せずにうpしてしまってます。。)

コマンドライン引数で指定したオプションはそのまま使われます。
コマンドライン引数で足りなかった項目については
標準入力からもらうように問い合わせるようになっています。
パスワードについては標準出力にエコーされないようになっています。
34: 2009/08/14(金)15:35 ID:??? AAS
開発を引き継いでくれるひとが出てくれるように
開発環境一発インストールスクリプトをつけたよ。
アンインストールは手作業だけど。。

Perlはstrawberry perlしか試してないし、
勝手にC:\Windows\System32決めうちで
OpenSSLのDLLをインストールするけどいいよね。

あと、前のバージョンはUbuntuでしか試してなかったので
入力される文字列の文字コードがUTF8固定になってた。。
その部分はEncode::Guessを使うようにしたよ。

外部リンク[zip]:www.tocd.org
35: 2009/08/15(土)14:11 ID:??? AAS
my $host = 'smtp.gmail.com';

こういうのは直す必要がありますよね
あとuseできるようにしなければ
36
(2): 2009/08/17(月)03:01 ID:??? AAS
TkでGUIをつけてみたよ
つかれた。。。

外部リンク[zip]:www.tocd.org
37
(1): 2009/08/17(月)04:29 ID:??? AAS
GUIつけるなんて方向性が間違っているような気がするんですが
38: 2009/08/17(月)09:24 ID:??? AAS
>>37
モジュールだけ適当に使ってください
39: 2009/08/17(月)15:39 ID:??? AAS
>>36
ubuntuだと文字が入力できなかった

外部リンク[html]:okwave.jp
XMODIFIERS="@im=none"とすればいちおう入力はできるけど
文字変換はできないのでコピペするしかない…

外部リンク:bugs.launchpad.net
これによると2009-06-18にFixされたらしい
40
(2): 2009/08/25(火)17:51 ID:??? AAS
>>36
レンタルサーバーのsendmailコマンドで使いたいのですが、対応してますか?
41
(1): 2009/08/25(火)18:52 ID:??? AAS
>>40
sendmailは呼び出していません。
そのレンタルサーバでNet::SMTP::SSLなどの
Perlモジュールが使えたら動くと思います。
1-
あと 15 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.010s