SENDMAILを使って「.(ドット)」が@の前に3つあるドコモの携帯アドレスへメールしたいのですが、エラーが出て飛ばせません。


■宛先例:
aaaa.aa.aa.@docomo.ne.jp

■エラーメッセージ:
Bad or missing From address: アドレス
(このエラーメッセージはsendmail.pmに記述されておりました)


そもそもやろうとしていることが無理なのか方法があるのか、具体的な内容が掲載されているページを教えてもらえると助かります。よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:kimizu No.1

回答回数726ベストアンサー獲得回数21

ポイント24pt

http://neta.ywcafe.net/000435.html

RFCを読まなかった携帯キャリアの罪

これでしょうか。RFC違反。。。のようです。

ドットの数ではなく、@の直前にあるのが問題のようですね。


RFC2821の4.1.2でSMTPコマンドの引数が定義されていますが、

ここで、


Dot-string = Atom *(”.” Atom)

Atom = 1*atext


のように、ドットを使うときは、それ以降に必ず文字があることが

前提となっています。


なので、携帯のメールアドレス設定部分を作った人が、

RFCを読んでいないのが問題。。。


携帯のアドレスを変更してもらうしかないようです。

id:Iwa No.2

回答回数120ベストアンサー獲得回数6

ポイント23pt

RFC(Request For Comment)に、メールアドレスの仕様があるわけですが、使っていいのは


・アルファベット

・数字

・!#$%&`+-*/’^{}_ 

・.(ドット)

です。


そして、ドットはユーザー部分(@より左の部分)の最初および最後には書いてはいけないことになっています。


ということは、

aaaa.aa.aa.@~

はドットが最後にきているので文法上はアウトということになります。

どうしてもというならMail::Sendmail(Mail/Sendmail.pm)中のこの文法チェックを意図的に外す(コメントアウトでもして)しかありません。


元々、RFCに反したメールアドレスも付けられるようにした携帯電話会社とかが悪いんですけどね。

id:u1p No.3

回答回数455ベストアンサー獲得回数6

ポイント23pt

http://www.nttdocomo.co.jp/info/spam_mail/measure/change_add/

メールアドレス変更 | お知らせ | NTTドコモ

送れない理由はピリオド三つではなく、@の直前のピリオドのせいです。

参考URLの通り、それは推奨されて無いのですが、Docomoでは設定はできてしまうので、そういう無茶なアドレスを指定する人は多いようですね。

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません