2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

今更だけど完璧なメール送信ライブラリってあるの?

1 :nobodyさん:2009/08/09(日) 09:45:20 ID:???.net
”完璧”の定義

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

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

巷にメール送信のサンプルは数あれど、これでいいのか
今更ながらに迷う。

6 :nobodyさん:2009/08/09(日) 23:35:40 ID:???.net
>>5
そこんところは、柔軟に、
チェックするかしないかを設定できるってことで。

7 :nobodyさん:2009/08/10(月) 00:07:41 ID:???.net
>>5です

ううむ
なんとなくPerlで作ってみたくなったんですが
野良モジュールでよかったらとか……CPAN嫌い

Subjectを要求通りエンコードしたら日本語UTF-8で文字化けする
実はRFCの要求ではメールアドレスにだって改行コードを入れることができる(爆
メールアドレスの途中にコメントなんか入れることができる(爆
[例] example"Hello World"@example.com = example@example.com
a@aといった.のないメールアドレスが通ってしまう
Per5.8系ではメールアドレスの完璧な正規表現は無理

などの気の遠くなるような課題が山積でしたよね

8 :nobodyさん:2009/08/10(月) 00:21:01 ID:???.net
>>7
頭いたいねw
こんなんだから、誰もちゃんとしたのを
作れないだろうね。

まあ機能不足は許容するとして、
間違ったメールは出したくないよなぁ。

9 :nobodyさん:2009/08/10(月) 00:27:57 ID:???.net
> Per5.8系ではメールアドレスの完璧な正規表現は無理

無理して正規表現にしなくていいと思う。
たぶん読みにくくなるというデメリットしかない。

10 :5:2009/08/10(月) 00:33:40 ID:???.net
こんな問題もある(有名
ttp://neta.ywcafe.net/000799.html
ttp://neta.ywcafe.net/000803.html
ttp://neta.ywcafe.net/000804.html

11 :5:2009/08/10(月) 00:49:36 ID:???.net
> [例] example"Hello World"@example.com = example@example.com
これ勘違い

こうらしい
[例] example(Hello World)@example.com = example@example.com

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

>>12の方法はattach見たいな簡易な命令を書くだけで、
Content-Type: multipart/mixed; boundary="---"
なんてヘッダを自動的に補間したり文字コード変換したりするのが違いね。

14 :nobodyさん:2009/08/10(月) 01:26:41 ID:???.net
メールでドットが2つあると送れないのあるよね。どうして?

15 :nobodyさん:2009/08/10(月) 02:37:41 ID:???.net
>>11
そういう変な仕様を思い出したら教えてほしい。


本当はRFCを読むべきなのはわかっているが、
時間がかかるんだ。

16 :nobodyさん:2009/08/10(月) 04:14:29 ID:???.net
>>1
巷の実装は調べてみたの?

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

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

17 :nobodyさん:2009/08/10(月) 11:27:43 ID:???.net
> 巷の実装は調べてみたの?
というか、ちゃんとしているのあるのかなぁ?と。

18 :nobodyさん:2009/08/10(月) 11:32:38 ID:???.net
> 巷の実装は調べてみたの?

それ無理だわw

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

ぶっちゃけ知らん。 そういう細かい所を知らなくても
簡単に使えるようにしたのが、ライブラリだと思うんだが。

19 :nobodyさん:2009/08/10(月) 14:43:54 ID:???.net
>>1
そもそもメールサーバ側の実装が怪しい以上RFCを完璧に遵守してもなあ

20 :nobodyさん:2009/08/10(月) 15:29:10 ID:???.net
文字エンコーディングの必要ない、新しいプロトコルできないものかね?

互換性を保つ為に非対応を検出したらサーバー側で変換する

21 :nobodyさん:2009/08/11(火) 12:05:16 ID:???.net
>>17-18
なるほど。俺はQdmailというやつを使っている。
ttp://hal456.net/qdmail/

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

個人的な使用感としては、文字コードとSMTP送信は今の所いい感じ。
変なメールアドレスは試してないのでわからん、といったところです。

22 :nobodyさん:2009/08/12(水) 07:26:10 ID:???.net
ライブラリってのは柔軟に作ってあって
必要に応じて制限掛けていくもんだろ
>>1は要するに他人が完璧に全て作ったものをそのまま使いたいだけじゃないのか?

23 :nobodyさん:2009/08/12(水) 09:32:05 ID:???.net
>>22
ま、そうだろうね。
どこそこのサンプルが使いにくい、という具体的な話にならない所を見ると、
もはやクレクレ厨以下の予感がする。

24 :nobodyさん:2009/08/12(水) 09:45:38 ID:???.net
使って不満なとこを作ってる奴にフィードバックしてやればいいじゃないか。

25 :nobodyさん:2009/08/12(水) 17:49:41 ID:???.net
> どこそこのサンプルが使いにくい、という具体的な話にならない所を見ると、

どのライブラリも、文字コード変換とMIME変換を
ライブラリの利用者がしないといけないのがダメだな。
特にHTMLやファイル添付をするとき。

26 :nobodyさん:2009/08/12(水) 20:53:28 ID:???.net
とりあえずたたき台として
CPANモジュール使いまくりの
コマンドライン版メール送信クライアントをおいときますね。

http://www.tocd.org/uploader/data/30/sendmail.zip

27 :nobodyさん:2009/08/12(水) 21:01:43 ID:???.net
>>26
仕事はやw

ってきり、sendmailプログラムを入れただけだと思っていたのにwww

28 :nobodyさん:2009/08/12(水) 21:16:41 ID:???.net
>>27
ちょっと前に作って放置してたやつをうpしただけなので^^
HTMLメール送信機能はないです。
GmailのSMTPサーバを使ってサーバのログ送信するために作りました。
いちおう毎朝WindowsXPのタスクとかいう機能で動かしてます。

29 :nobodyさん:2009/08/13(木) 12:48:49 ID:???.net
これ、exeは何してるのですか?

30 :nobodyさん:2009/08/13(木) 12:59:39 ID:???.net
>>29
ppでsendmail.plをコンパイル

31 :nobodyさん:2009/08/13(木) 20:36:38 ID:???.net
もうすこし詳しく話す必要があるかと

32 :nobodyさん:2009/08/13(木) 22:22:35 ID:???.net
本当にこの>>26のスクリプトの解説が必要なひとって
いるのかわからんけどいちおう書いておくと、、

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

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

同じフォルダにあるSSL関連のライブラリとか
make.batなどのファイルは、ppを使って
sendmail.plをsendmail.exeにするときに使った残骸ですので、
ふつーのひとには必要ないと思います。


33 :nobodyさん:2009/08/13(木) 22:35:14 ID:???.net
あと、helpは-hをコマンドライン引数につけると出てきます。
(GNU Wgetの書き方をパクったんですが、
typoを修正せずにうpしてしまってます。。)

コマンドライン引数で指定したオプションはそのまま使われます。
コマンドライン引数で足りなかった項目については
標準入力からもらうように問い合わせるようになっています。
パスワードについては標準出力にエコーされないようになっています。


34 :nobodyさん:2009/08/14(金) 15:35:34 ID:???.net
開発を引き継いでくれるひとが出てくれるように
開発環境一発インストールスクリプトをつけたよ。
アンインストールは手作業だけど。。

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

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

http://www.tocd.org/uploader/data/31/sendmail.zip


35 :nobodyさん:2009/08/15(土) 14:11:28 ID:???.net
my $host = 'smtp.gmail.com';

こういうのは直す必要がありますよね
あとuseできるようにしなければ

36 :nobodyさん:2009/08/17(月) 03:01:00 ID:???.net
TkでGUIをつけてみたよ
つかれた。。。

http://www.tocd.org/uploader/data/32/MySendMail.zip


37 :nobodyさん:2009/08/17(月) 04:29:27 ID:???.net
GUIつけるなんて方向性が間違っているような気がするんですが

38 :nobodyさん:2009/08/17(月) 09:24:54 ID:???.net
>>37
モジュールだけ適当に使ってください

39 :nobodyさん:2009/08/17(月) 15:39:34 ID:???.net
>>36
ubuntuだと文字が入力できなかった

http://okwave.jp/qa3605759.html
XMODIFIERS="@im=none"とすればいちおう入力はできるけど
文字変換はできないのでコピペするしかない…

https://bugs.launchpad.net/ubuntu/+source/perl-tk/+bug/283806
これによると2009-06-18にFixされたらしい


40 :nobodyさん:2009/08/25(火) 17:51:21 ID:???.net
>>36
レンタルサーバーのsendmailコマンドで使いたいのですが、対応してますか?

41 :nobodyさん:2009/08/25(火) 18:52:08 ID:???.net
>>40
sendmailは呼び出していません。
そのレンタルサーバでNet::SMTP::SSLなどの
Perlモジュールが使えたら動くと思います。


42 :nobodyさん:2009/08/25(火) 18:54:05 ID:???.net
>>41
了解

43 :nobodyさん:2009/09/07(月) 17:23:52 ID:???.net
>>40
朝鮮人にも生まれ付き二重はいる
正確に見分けるには顔の表面より骨格を見る必要がある
例えば鼻の下が長かったら、まず間違いなく朝鮮人だと思っていい

44 :nobodyさん:2009/09/07(月) 18:22:37 ID:???.net
いや、この毛深さならケツ毛は処理したと見るべきでしょ。 女優さんだってば

45 :nobodyさん:2009/11/18(水) 13:54:59 ID:???.net
モダンPerlの世界へようこそ
第20回 Email::Sender:メールを送信する|gihyo.jp … 技術評論社
ttp://gihyo.jp/dev/serial/01/modern-perl/0020?page=1

この Email::Sender は日本語大丈夫なのかな。
メールの解説記事って添付や From: の日本語のことを書かないよね。

46 :nobodyさん:2009/11/18(水) 22:56:16 ID:???.net
日本語が大丈夫かどうかはメール送信モジュールは関係なく
そこに引き渡す文字列の文字コード変換云々の問題だからな
日本語ならBASE64エンコードすればいいだけだし

47 :nobodyさん:2009/11/19(木) 04:28:10 ID:???.net
ニートだけど、最近、Perlに興味を持ち出したので、初心者用に、送り主・宛先・件名・本文を
指定したら、自動でMIMEエンコードして送信してくれる以下のようなモジュールを書こうかなー
と思ってる。

Mail::Send::JP->new(
From => "Foo <bar@example.com>",
To => [ qw(hoge@example.net fuga@example.co.jp) ],
Subject => "忘年会のお知らせ",
Body => "下記日程で忘年会を催します。\n日時:12月22日\n場所:新橋",
)->send;

48 :nobodyさん:2009/11/19(木) 10:37:57 ID:???.net
>>46
それをしてくれるライブラリなり
モジュールがあると便利だと思うのだよ

49 :nobodyさん:2009/11/19(木) 10:51:29 ID:???.net
汎用ライブラリが勝手にやったら不便だろ
意図しない動作になったらライブラリ解析する羽目になる

50 :nobodyさん:2009/11/19(木) 11:49:52 ID:???.net
今って、汎用ライブラリに
全プログラマが日本語対応の
車輪の再発名よろしくコードを書いていて、
それが不十分だったり
不完全だったりで
日本語が化けている現状だと思っていた。

日本語を送ることができる
汎用ライブラリが待ち望まれているのだと思ったよ。

51 :sage:2011/01/31(月) 22:51:32 ID:mEV7IKB2.net
test

52 :nobodyさん:2011/02/14(月) 22:00:14 ID:jESdksSe.net
土生 明弘(はぶ あきひろ)を捜しています。
年齢・30才、職業・プログラマー、勤務地 ・勝どき、出身地・九州、
住所・(おそらくは)鷺ノ宮駅近辺、 日本大学藝術学部 文芸学科卒

住所・勤務先・九州の実家の住所等どんな些細な情報でも構いませんので、ご連絡お願いします。
連絡先・habuhokaku@hotmail.co.jp

53 :nobodyさん:2011/10/16(日) 13:06:45.45 ID:???.net
Javaだったら普通にJavamailあたりでiso-2022-jpで送るように書いて、
tomcat側でvm引数にコード変換かますように引数かまして起動すれば結構問題なく外字も送ってくれる。
たしかx-windows-iso2022jpとかいうやつ。
マックやLinuxで見れるか?知らんわ。でもマックでも新しいメーラーなら読めるらしい。

つかな、いい加減utf8非対応のメーラーを禁止しろ。

54 :nobodyさん:2013/03/23(土) 21:05:05.55 ID:4kUptRKf.net
      _
      |O\
      |   \ キリキリ
    ∧|∧   \ キリキリ
ググゥ>(;⌒ヽ    \
    ∪  |     (~)
     ∪∪   γ´⌒`ヽ
     ) )    {i:i:i:i:i:i:i:i:}
     ( (    ( ´・ω・)、
           (O ⌒ )O
            ⊂_)∪

55 :nobodyさん:2024/02/01(木) 15:42:29.06 ID:H8jXucABb
ひと昔前まで結婚して子まで生んでた高校生を児童呼ばわりしかも年収900萬超であろうと児童手当くれてやる岸田異次元増税憲法ガン無視
地球破壊覇権主義経済音痴強盜殺人文雄禍、騒音の影響を受けない無能で暇なやつほど孑を作りたがるがまさにクソ公務員の高額ナマポ費
倍増計画丸出しの性活を支えるために子のいない知的な多趣味のお前らはさらに労働対価を縮減させられるわけだ
そんな奇特な労働放棄して四六時中戦ってる欧州やら民主主義国家を見習って同時多発蜂起するのが人としての最低限の正義だぞ
車でと゛こかに突っ込んだり立て籠もったりクソ公務員の一匹すら駆除しない甘っタレはクソ公務員利権倍増でも目論んて゛んのか?
天下り税金泥棒のために海に囲まれた日本で陸域クソ航空機飛ばしまくって私腹を肥やしてる上、薬物盗撮窃盜詐欺性的暴行逮捕者た゛らけの
クソポリ公は毎日グルグル威力業務妨害騒音ヘリ飛ばして望遠カメラで女風呂のぞき見しながら暇すぎるしお前らとっとと犯罪おかせやと
住民イライラ犯罪惹起して莫大な石油無駄に燃やして気侯変動災害連發、私権侵害どころか住民殺しまくってる腐敗テロ政府を滅ぼそう!
(ref.) ttps://www.call4.jp/info.php?tyΡe=iΤеms&id=I0000062
ttps://haneda-project.jimdofree.com/ , ttΡs://flight-route.Com/
ttрs://n-souonhigaisosУoudan.amebaownd.com/

17 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★