今更だけど完璧なメール送信ライブラリってあるの?
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/08/09(日) 09:45:20ID:???・RFCをきちんと守っている。
・だけど、正しくないメールアドレスを許容できるようにも設定できる
・ISO-2022-JPだけじゃなく、Shift-JISやUTF-8など対応
・添付ファイルやHTMLメールにも対応
・sendmail呼び出しだけじゃなくてSMTPにも対応
・使いやすい
プログラム言語は問わないというか、どの言語でも必要になるだろうから
どの言語版も必要だけど。
巷にメール送信のサンプルは数あれど、これでいいのか
今更ながらに迷う。
0002nobodyさん
2009/08/09(日) 10:28:03ID:???0003nobodyさん
2009/08/09(日) 10:35:46ID:???最近のフレームワークなどで対応しているのかと思いきや、次のような流ればっかり。
「メール送信機能がついている → 日本語では文字化けする → その修正方法 (不完全)」
これだけ時間がたっているのだから、さすがにどの言語でも
完成された形でライブラリが出来上がっていると思うのに、
見つからない・・・見つけられない俺が悪いのだろうか?
0004nobodyさん
NGNG0005nobodyさん
2009/08/09(日) 23:00:12ID:???これだとa@aなんてアドレスが通ったりしません?
0007nobodyさん
2009/08/10(月) 00:07:41ID:???ううむ
なんとなくPerlで作ってみたくなったんですが
野良モジュールでよかったらとか……CPAN嫌い
Subjectを要求通りエンコードしたら日本語UTF-8で文字化けする
実はRFCの要求ではメールアドレスにだって改行コードを入れることができる(爆
メールアドレスの途中にコメントなんか入れることができる(爆
[例] example"Hello World"@example.com = example@example.com
a@aといった.のないメールアドレスが通ってしまう
Per5.8系ではメールアドレスの完璧な正規表現は無理
などの気の遠くなるような課題が山積でしたよね
0008nobodyさん
2009/08/10(月) 00:21:01ID:???頭いたいねw
こんなんだから、誰もちゃんとしたのを
作れないだろうね。
まあ機能不足は許容するとして、
間違ったメールは出したくないよなぁ。
0009nobodyさん
2009/08/10(月) 00:27:57ID:???無理して正規表現にしなくていいと思う。
たぶん読みにくくなるというデメリットしかない。
00105
2009/08/10(月) 00:33:40ID:???ttp://neta.ywcafe.net/000799.html
ttp://neta.ywcafe.net/000803.html
ttp://neta.ywcafe.net/000804.html
00115
2009/08/10(月) 00:49:36ID:???これ勘違い
こうらしい
[例] example(Hello World)@example.com = example@example.com
0012nobodyさん
2009/08/10(月) 01:12:27ID:???そこらへんは、--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
0013nobodyさん
2009/08/10(月) 01:15:40ID:???あれは、標準入力からうけとった文字列をただ流しているだけ。
>>12の方法はattach見たいな簡易な命令を書くだけで、
Content-Type: multipart/mixed; boundary="---"
なんてヘッダを自動的に補間したり文字コード変換したりするのが違いね。
0014nobodyさん
NGNG0015nobodyさん
2009/08/10(月) 02:37:41ID:???そういう変な仕様を思い出したら教えてほしい。
本当はRFCを読むべきなのはわかっているが、
時間がかかるんだ。
0016nobodyさん
2009/08/10(月) 04:14:29ID:???巷の実装は調べてみたの?
「どのサンプルでも実装できていない問題がある」という事と、
「部分的には満たしてるけど一部残念なところがある」という事は
分けて考えた方がいいと思う。
後者なら書き直せばなんとかなるわけだし、前者なら仕様策定が必要。
0017nobodyさん
2009/08/10(月) 11:27:43ID:???というか、ちゃんとしているのあるのかなぁ?と。
0018nobodyさん
2009/08/10(月) 11:32:38ID:???それ無理だわw
だってメールの仕様って思った以上に複雑というか
知られざる罠が存在するんだ。
ぶっちゃけ知らん。 そういう細かい所を知らなくても
簡単に使えるようにしたのが、ライブラリだと思うんだが。
0020nobodyさん
2009/08/10(月) 15:29:10ID:???互換性を保つ為に非対応を検出したらサーバー側で変換する
0021nobodyさん
2009/08/11(火) 12:05:16ID:???なるほど。俺はQdmailというやつを使っている。
ttp://hal456.net/qdmail/
コンセプトが気に入ったので使ってるけど、大して多角的には使ってないので、
もし他に評価対象が無いなら、試しに使ってみたらいいかも。オヌヌヌ。
個人的な使用感としては、文字コードとSMTP送信は今の所いい感じ。
変なメールアドレスは試してないのでわからん、といったところです。
0022nobodyさん
2009/08/12(水) 07:26:10ID:???必要に応じて制限掛けていくもんだろ
>>1は要するに他人が完璧に全て作ったものをそのまま使いたいだけじゃないのか?
0023nobodyさん
2009/08/12(水) 09:32:05ID:???ま、そうだろうね。
どこそこのサンプルが使いにくい、という具体的な話にならない所を見ると、
もはやクレクレ厨以下の予感がする。
0024nobodyさん
2009/08/12(水) 09:45:38ID:???0025nobodyさん
2009/08/12(水) 17:49:41ID:???どのライブラリも、文字コード変換とMIME変換を
ライブラリの利用者がしないといけないのがダメだな。
特にHTMLやファイル添付をするとき。
0026nobodyさん
2009/08/12(水) 20:53:28ID:???CPANモジュール使いまくりの
コマンドライン版メール送信クライアントをおいときますね。
http://www.tocd.org/uploader/data/30/sendmail.zip
0028nobodyさん
2009/08/12(水) 21:16:41ID:???ちょっと前に作って放置してたやつをうpしただけなので^^
HTMLメール送信機能はないです。
GmailのSMTPサーバを使ってサーバのログ送信するために作りました。
いちおう毎朝WindowsXPのタスクとかいう機能で動かしてます。
0029nobodyさん
2009/08/13(木) 12:48:49ID:???0031nobodyさん
2009/08/13(木) 20:36:38ID:???0032nobodyさん
2009/08/13(木) 22:22:35ID:???いるのかわからんけどいちおう書いておくと、、
perlが動かせる人にとって必要なことは
CPANでモジュールをとってくることだけです。
モジュールがそろえば
コマンドプロンプトから
> perl sendmail.pl
で動きます。
perlが動かせない人にとって必要なものは何もなくて
sendmail.exeをコマンドプロンプトでたたくだけで使えます。
コマンドプロンプトから
> sendmail.exe
で動きます。
同じフォルダにあるSSL関連のライブラリとか
make.batなどのファイルは、ppを使って
sendmail.plをsendmail.exeにするときに使った残骸ですので、
ふつーのひとには必要ないと思います。
0033nobodyさん
2009/08/13(木) 22:35:14ID:???(GNU Wgetの書き方をパクったんですが、
typoを修正せずにうpしてしまってます。。)
コマンドライン引数で指定したオプションはそのまま使われます。
コマンドライン引数で足りなかった項目については
標準入力からもらうように問い合わせるようになっています。
パスワードについては標準出力にエコーされないようになっています。
0034nobodyさん
2009/08/14(金) 15:35:34ID:???開発環境一発インストールスクリプトをつけたよ。
アンインストールは手作業だけど。。
Perlはstrawberry perlしか試してないし、
勝手にC:\Windows\System32決めうちで
OpenSSLのDLLをインストールするけどいいよね。
あと、前のバージョンはUbuntuでしか試してなかったので
入力される文字列の文字コードがUTF8固定になってた。。
その部分はEncode::Guessを使うようにしたよ。
http://www.tocd.org/uploader/data/31/sendmail.zip
0035nobodyさん
2009/08/15(土) 14:11:28ID:???こういうのは直す必要がありますよね
あとuseできるようにしなければ
0036nobodyさん
2009/08/17(月) 03:01:00ID:???つかれた。。。
http://www.tocd.org/uploader/data/32/MySendMail.zip
0037nobodyさん
2009/08/17(月) 04:29:27ID:???0039nobodyさん
2009/08/17(月) 15:39:34ID:???ubuntuだと文字が入力できなかった
http://okwave.jp/qa3605759.html
XMODIFIERS="@im=none"とすればいちおう入力はできるけど
文字変換はできないのでコピペするしかない…
https://bugs.launchpad.net/ubuntu/+source/perl-tk/+bug/283806
これによると2009-06-18にFixされたらしい
■ このスレッドは過去ログ倉庫に格納されています