X



今更だけど完璧なメール送信ライブラリってあるの?
0001nobodyさん
垢版 |
2009/08/09(日) 09:45:20ID:???
”完璧”の定義

 ・RFCをきちんと守っている。
 ・だけど、正しくないメールアドレスを許容できるようにも設定できる
 ・ISO-2022-JPだけじゃなく、Shift-JISやUTF-8など対応
 ・添付ファイルやHTMLメールにも対応
 ・sendmail呼び出しだけじゃなくてSMTPにも対応
 ・使いやすい

プログラム言語は問わないというか、どの言語でも必要になるだろうから
どの言語版も必要だけど。

巷にメール送信のサンプルは数あれど、これでいいのか
今更ながらに迷う。
0003nobodyさん
垢版 |
2009/08/09(日) 10:35:46ID:???
ずっと前からある問題なのに、ぐぐっても不完全な情報の断片ばかり。
最近のフレームワークなどで対応しているのかと思いきや、次のような流ればっかり。
「メール送信機能がついている → 日本語では文字化けする → その修正方法 (不完全)」

これだけ時間がたっているのだから、さすがにどの言語でも
完成された形でライブラリが出来上がっていると思うのに、
見つからない・・・見つけられない俺が悪いのだろうか?
0004nobodyさん
垢版 |
NGNG
( ̄ー ̄)ニヤリッ(わっ)
0005nobodyさん
垢版 |
2009/08/09(日) 23:00:12ID:???
> RFCをきちんと守っている
これだとa@aなんてアドレスが通ったりしません?
0006nobodyさん
垢版 |
2009/08/09(日) 23:35:40ID:???
>>5
そこんところは、柔軟に、
チェックするかしないかを設定できるってことで。
0007nobodyさん
垢版 |
2009/08/10(月) 00:07:41ID:???
>>5です

ううむ
なんとなく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:???
>>7
頭いたいねw
こんなんだから、誰もちゃんとしたのを
作れないだろうね。

まあ機能不足は許容するとして、
間違ったメールは出したくないよなぁ。
0009nobodyさん
垢版 |
2009/08/10(月) 00:27:57ID:???
> Per5.8系ではメールアドレスの完璧な正規表現は無理

無理して正規表現にしなくていいと思う。
たぶん読みにくくなるというデメリットしかない。
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
これ勘違い

こうらしい
[例] example(Hello World)@example.com = example@example.com
0012nobodyさん
垢版 |
2009/08/10(月) 01:12:27ID:???
>>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
0013nobodyさん
垢版 |
2009/08/10(月) 01:15:40ID:???
一見、sendmailコマンドと同じように見えるかもしれないけど
あれは、標準入力からうけとった文字列をただ流しているだけ。

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


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

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

後者なら書き直せばなんとかなるわけだし、前者なら仕様策定が必要。
レスを投稿する


ニューススポーツなんでも実況