英語版
このページの英語版を見る
std.net.isemail
RFC5321、5322、およびその他に従ってメールアドレスを検証する。
Authors:
Dominic Sayers <dominic@sayers.cc>, Jacob Carlborg
License:
Boost Software License 1.0
Dominic Sayers graciously granted permission to use the Boost license via email on Feb 22, 2011.
Version:
3.0.13 - オリジナルの PHP 実装のバージョン 3.0:https://www.dominicsayers.com/isemail
Standards:
- RFC 5321
- RFC 5322
参考文献
- EmailStatus
isEmail(Char)(const(Char)[]email, CheckDnscheckDNS= No.checkDns, EmailStatusCodeerrorLevel= EmailStatusCode.none)
if (isSomeChar!Char); - メールアドレスがRFC 5321、5322などに準拠しているかどうかをチェックする。RFC 5321で定義されているMailboxとRFC 5322で定義されているaddr-specを区別する。 を区別する。文脈によっては、どちらを有効なメールアドレスと見なすこともできる。 有効なメールアドレスとみなすことができる。
注釈: DNSチェックは現在実装されていない。 DNSチェックは現在実装されていない。
Parameters:const(Char)[] emailチェックするメールアドレス CheckDns checkDNSYes.checkDns の場合、MXレコードのDNSチェックが行われる。 EmailStatusCode errorLevel有効なアドレスと無効なアドレスの境界を決定する。 この数値以上のステータスコードはそのまま返される、 それ以下のステータスコードは、EmailStatusCode.validとして返される。 従って、呼び出し側のプログラムは、単純にEmailStatusCode.validを探すことができる。 を探すことができる。この isEmail()がどの程度アドレスに "うるさい"かは、errorLevelによって決まる。 がどの程度 "うるさい"かを決定する。 省略された場合、あるいは EmailStatusCode.none として渡された場合、isEmail() はより細かいエラー・チェックを行わず、アドレスは次のようになる。 は細かいエラーチェックを行わず、アドレスは有効か無効かのどちらかとなる。 は有効か無効かを判断する。電子メールのステータス・コードは EmailStatusCode.valid または EmailStatusCode.error のいずれかとなる。 Returns:を返す。 EmailStatusメールアドレスのステータスを示す - alias
CheckDns= std.typecons.Flag!"checkDns".Flag; - isEmail関数がDNSチェックを行うかどうかを示すフラグ。に設定されている場合
CheckDns.noに設定されている場合、isEmailはDNSチェックを行わない。 そうでなければCheckDns.yesに設定されている場合、isEmailはDNSチェックを行う。 - struct
EmailStatus; - メールアドレスのステータスを表す
- const pure nothrow @nogc @property scope @safe bool
valid(); - Returns:メールアドレスが有効かどうかを表す。
- const pure nothrow @nogc @property scope @safe string
localPart() return; - Returns:メールアドレスのローカル部分、つまり@記号の前の部分。
- const pure nothrow @nogc @property scope @safe string
domainPart() return; - Returns:メールアドレスのドメイン部分、つまり@記号の後の部分。
- const pure nothrow @nogc @property scope @safe EmailStatusCode
statusCode(); - Returns:電子メールのステータスコード
- const pure nothrow @nogc @property scope @safe string
status(); - Returns:ステータスコードを表す文字列
- const pure scope @safe string
toString(); - Returns:メールステータスのテキスト表現
- pure nothrow @nogc @safe string
statusCodeDescription(EmailStatusCodestatusCode); - Parameters:
EmailStatusCode statusCodeその EmailStatusCodeを読み取る Returns:与えられたステータスコードを表す詳細な文字列 - enum
EmailStatusCode: int; - Eメールアドレスが有効かどうかを示すEメールのステータスコード。 無効な場合はその理由も示す。
validCategory- アドレスは有効である
dnsWarning- アドレスは有効だが、DNSチェックに失敗した。
rfc5321- アドレスはSMTPでは有効だが、異常な要素がある
cFoldingWhitespace- アドレスはメッセージ内では有効だが、エンベロープではそのままでは使えない
deprecated_- アドレスは非推奨の要素を含むが、制限されたコンテキストではまだ有効かもしれない
rfc5322- アドレスはRFC 5322の広義の定義に従ってのみ有効である。それ以外は無効である。
any- より細かいエラーチェックがすべてオンになっている。エラーや警告を含むアドレスは無効とみなされる。 警告を含むアドレスは無効とみなされる。特定の電子メール・ステータス・コードが返される。 が返される。
none- アドレスは有効とみなされるか無効とみなされるかのどちらかである。 は実行されない。返されるEメールステータスコードは、ErrorまたはValidのいずれかである。
warning- 警告を含むアドレスは有効とみなされる、 16以下のステータスコードは有効であるとみなされる。
error- アドレスはいかなる目的においても無効である
valid- アドレスは有効である
dnsWarningNoMXRecord- このドメインのMXレコードが見つからなかったが、Aレコードは存在する
dnsWarningNoRecord- このドメインのMXレコードまたはAレコードが見つからない
rfc5321TopLevelDomain- アドレスは有効だが、トップレベルドメインである
rfc5321TopLevelDomainNumeric- アドレスは有効だが、トップレベルドメインが数字で始まっている
rfc5321QuotedString- アドレスは有効だが、引用符で囲まれた文字列が含まれている
rfc5321AddressLiteral- アドレスは有効だが、ドメインではなくリテラルアドレスである
rfc5321IpV6Deprecated- アドレスは有効だが、::が含まれており、1つのゼログループだけが省略されている
comment- アドレスにコメントが含まれている
foldingWhitespace- アドレスにフォールディング・ホワイトスペースが含まれている
deprecatedLocalPart- ローカル部分が非推奨形式である
deprecatedFoldingWhitespace- アドレスに古い形式のフォールディング・ホワイトスペースが含まれている
deprecatedQuotedText- 引用符で囲まれた文字列が非推奨の文字を含んでいる
deprecatedQuotedPair- 引用符で囲まれたペアに非推奨の文字が含まれている
deprecatedComment- アドレスが非推奨の位置にコメントを含んでいる
deprecatedCommentText- コメントに非推奨の文字が含まれている
deprecatedCommentFoldingWhitespaceNearAt- アドレスに@記号の周りのコメントまたは折り返し空白が含まれている
rfc5322Domain- アドレスがRFC 5322に準拠しているが、DNSで許可されていないドメイン文字が含まれている
rfc5322TooLong- アドレスが長すぎる
rfc5322LocalTooLong- アドレスのローカル部分が長すぎる
rfc5322DomainTooLong- ドメイン部分が長すぎる
rfc5322LabelTooLong- ドメイン部分に長すぎる要素が含まれている
rfc5322DomainLiteral- ドメインリテラルが有効なRFC 5321アドレスリテラルではない
rfc5322DomainLiteralObsoleteText- ドメインリテラルが有効なRFC 5321アドレスリテラルではなく、旧式の文字が含まれている
rfc5322IpV6GroupCount- IPv6リテラルアドレスに誤った数のグループが含まれている
rfc5322IpV6TooManyDoubleColons- IPv6リテラルアドレスに::シーケンスが多すぎる
rfc5322IpV6BadChar- IPv6アドレスに不正な文字グループが含まれている
rfc5322IpV6MaxGroups- IPv6アドレスのグループの数が多すぎる
rfc5322IpV6ColonStart- IPv6アドレスがシングルコロンで始まる
rfc5322IpV6ColonEnd- IPv6アドレスがシングルコロンで終わっている
errorExpectingDomainText- ドメインリテラルに許可されていない文字が含まれている
errorNoLocalPart- アドレスにローカル部分がない
errorNoDomain- アドレスにドメイン部分がない
errorConsecutiveDots- アドレスに連続したドットが含まれていない
errorTextAfterCommentFoldingWhitespace- アドレスに、コメントまたはフォールディング・ホワイト・スペースの後のテキストが含まれている
errorTextAfterQuotedString- アドレスに引用符で囲まれた文字列の後のテキストが含まれている
errorTextAfterDomainLiteral- ドメイン・リテラルの末尾の後に余分な文字が見つかった
errorExpectingQuotedPair- アドレスに引用符で囲んだペアでは許可されない文字が含まれている
errorExpectingText- アドレスに許可されていない文字が含まれている
errorExpectingQuotedText- 引用符で囲まれた文字列に許可されていない文字が含まれている
errorExpectingCommentText- コメントに使用できない文字が含まれている
errorBackslashEnd- アドレスがバックスラッシュで終わってはならない
errorDotStart- アドレスのどちらの部分もドットで始めてはならない
errorDotEnd- アドレスのどちらの部分もドットで終わることはできない
errorDomainHyphenStart- ドメインまたはサブドメインはハイフンで始めることはできない
errorDomainHyphenEnd- ドメインまたはサブドメインはハイフンで終わることはできない
errorUnclosedQuotedString- 引用符で囲まれていない文字列
errorUnclosedComment- 閉じていないコメント
errorUnclosedDomainLiteral- ドメインリテラルに閉じ括弧がない
errorFoldingWhitespaceCrflX2- 折り返し空白文字に連続した CRLF が含まれている
errorFoldingWhitespaceCrLfEnd- 折り返し空白文字が連続したCRLFで終わっている
errorCrNoLf- アドレスに改行が続かないキャリッジ・リターンが含まれている
Copyright © 1999-2025 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
サイト全体のドキュメントのdmdのバージョン: 2.109.1
最新のdmdのバージョン: 2.111.0 ダウンロード
翻訳日付:
HTML生成日時:
編集者: dokutoku