ローカル部分の最後にダッシュが付いたメールID


19

電子メールのローカル部分の最後にダッシュ(-)がある場合、それは有効な電子メールですか?例えば、

an.unusual.email-@mydomain.com

または、一般化するために、これらの文字(Characters !#$%&'*+-/=?^_``{|}~ (ASCII: 33, 35-39, 42, 43, 45, 47, 61, 63, 94-96, 123-126))のうち、電子メールIDの先頭および/または末尾の電子メールのローカル部分に有効なものはありますか?

Googleはそれが無効だと言っているので、RFCはローカル部分の開始および/または終了から[ドット]文字のみを除外しますが、当面はそれも無効であると想定します。

上記の場合のGMailエラー

注:ドメイン部分については心配していません。これは、DNSが原因でより複雑になり、質問と回答が複雑になるためです。

https://social.technet.microsoft.com/Forums/ie/en-US/69f393aa-d555-4f8f-bb16-c636a129fc25/what-are-valid-and-invalid-email-address-characters


良い質問。このStack Overflowの質問と回答のスレッドを見ましたか?たくさんの情報—この時点では時代遅れですが、まだ良い出発点/
JakeGould

良い参照リンク、それはグーグルがそのメールを無効として扱うようですが、マイクロソフトは問題ありません。
ジムソンカナンタラジェームズ

1
Googleを立ち上げてからこれを共有する:Gmailはメールアドレスのピリオドを無視するため、メールが「anunusualemail@gmail.com」の場合、「an.unusual.email@gmail.com」に送信されたメールも受信します。また、メールアドレスの末尾のプラス記号「anunusualemail+something@gmail.com」も無視します。
mowwwalker

1
自分のメールサービスでは、ユーザー名から文字「u」を禁止できます。という理由だけで。
Agent_L

回答:


60

電子メールのローカル部分の最後にダッシュ(-)がある場合、それは有効な電子メールですか?[...] Googleはそれが無効であると言っているので、RFCではローカル部分の開始および/または終了から[ドット]文字のみを除外していますが、当面は無効と見なします。

有効です。Googleは完全に異なるチェックを実行するため、拒否されただけです。他の多くのプロバイダーと同様に、ローカルパーツに独自のポリシーがあります。


Googleまたは他の誰もが、フォームが実際に既存の有効なメールアドレス(プロバイダーから)を要求している場合にのみ、有効なすべてのメールアドレスを受け入れる義務があります。たとえば、GmailのTo:/ Cc:フィールドが有効なアドレスを拒否した場合、エラーになります。

ただし、強調表示したフィールドでは、既存の電子メールアドレスの入力は求められません。Googleシステムのアカウント名を要求します。これは、アカウントが作成された後にのみ、メールアドレスの基礎となります。Googleや他の誰かが自分のシステムで有効なアカウント名(または、実際にはメールボックス名)のセットを制限することを禁止するものはありません。

または、言い換えると、「local-part」に許可される文字を定義することは、メールアプリケーションのSMTPサーバーがRFC 822ヘッダーおよびSMTPコマンドでそのようなアドレスを受け入れる必要があることを意味しますが、そのようなメールボックスを作成できることについては何も言いません。(実際、初期の電子メールRFCが作成され、ほとんどのメールボックスがまだOSレベルのアカウントに関連付けられていたとき、それらの名前には同様の、またはさらに厳しい制限がありました。)

たとえば、RFC 5321のこの部分(セクション4.1.2、ABNFの下)では、受信ホストが許可されており、実際に、自身のメールボックスの命名方法について、はるかに厳しい制限が必要であると明示しています。

Local-partの上記の定義は比較的寛容ですが、最大限の相互運用性のために、メールを受信することを期待するホストは、Local-partがQuoted-string形式を必要とする(または使用する)メールボックスまたはLocal-partが大文字である場合のメールボックスの定義を避けるべきです(SHOULD) -敏感。

したがって、構文的にanunusualemail-@gmail.com 有効ですが、それだけではGoogleが作成を許可する必要があるという意味ではありません。


6
おもしろいことに、Googleは電子メールアドレス(gmail.googleblog.com/2008/03/…)のピリオドを無視しますが、これもRFCで指定されていません。したがって、myname @ gmail.comはmy.name@gmail.comまたはmyname@gmail.comと同じ場所に移動します。
childofsoong

4
@JimsonKannantharaJames一般に、メールが有効かどうかを確認する場合は、実際にそのアドレスにメールを送信し、ユーザーにアクションを強制する必要があります。アドレスの構文にのみ基づいたチェックは、実際にユーザーがタイプミスをするのをキャッチするだけです。
マイケルミオール

1
@grawityああ、知っています-RFCで指定されていないが許可されている別の例を挙げようとコメントしていました。
childofsoong

1
@ user71659必要に応じて制御文字を適切にエスケープしない場合、より大きな問題が発生します。最終的に、メールはユーザーによって入力されたものであり、ユーザーの入力は常に危険と見なされるべきです。いくつかの検証ルールのためにデータベース内の一部のフィールドが安全であると仮定すると、かなり危険になる可能性があります。数か月後、他の誰かが同じ検証を持たない別のフォームからそのフィールドにデータを入力するとどうなりますか?
マイケルMior

2
@ user71659 2つの異なる問題を統合し、議論を濁らせています。MichaelMiorはしている状態に完全に正しいことを確認する電子メールアドレスがあること存在し、あなたがなり、ユーザーのアクションを必要とし、そのアドレスに電子メールを送信する必要があります。
kumarharsh

7

G Suite(正式にはドメイン向けGoogle Apps)では、最後の文字であっても、メールアドレス内でハイフン(ダッシュ)を使用できます。

ユーザー名には、文字(az)、数字(0-9)、ダッシュ(-)、アンダースコア(_)、アポストロフィ( ')、およびピリオド(。)を含めることができます。

出典:名前とパスワードのガイドライン

ご指摘のとおり、Gmailではメールアドレスにハイフンを使用できません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.