4Dにおけるメールの作成・送信・受信は Email
オブジェクトの操作よっておこなわれます。
transporter クラス関数を使ってメールを取得する際に、 Email
オブジェクトが作成されます。
- IMAP -
.getMail()
および.getMails()
関数は IMAPサーバーからメールを受信します。 - POP3 -
.getMail()
関数は POP3サーバーからメールを受信します。
また、新規かつ空の
Email
オブジェクトは SMTP .send()
関数を使って送信します。
MAIL Convert from MIME
および MAIL Convert to MIME
コマンドは、MIME コンテンツから Email
オブジェクトに、またはその逆の変換をおこなうのに使用できます。
Email オブジェクト
Email オブジェクトは次のプロパティを提供します:
4D は Email オブジェクトのフォーマットは JMAP specification に準拠します。
.attachments : Collection 4D.MailAttachment オブジェクトのコ レクションを格納します |
.bcc : Text .bcc : Object .bcc : Collection 非表示 (BCC: Blind Carbon Copy) のメール受信者 アドレス を格納します |
.bodyStructure : Object メッセージ本文の完全な MIME ストラクチャーである EmailBodyPart オブジェクトを格納します (任意) |
.bodyValues : Object bodyStructure の <partID> 毎にオブジェクトを格納している EmailBodyValue オブジェクトを格納します (任意)。 |
.cc : Text .cc : Object .cc : Collection 追加 (CC: Carbon Copy) のメール受信者 アドレス を格納します |
.comments : Text 追加のコメントのヘッダーを格納します |
.from : Text .from : Object .from : Collection メールの送信元 アドレス を格納します |
.headers : Collection メッセージ内で現れる順番どおりの EmailHeader オブジェ クトのコレクションを格納します |
.htmlBody : Text HTML形式のメールメッセージ (デフォルトの文字セットは UTF-8) を格納します (任意、SMTPのみ) |
.id : Text IMAP サーバーからの固有ID を格納します |
.inReplyTo : Text カレントメッセージが返信している、元のメッセージのメッセージID を格納します |
.keywords : Object 各プロパティ名がキーワードであり、各値が true であるキーワードセットのオブジェクトを格納します |
.messageId : Text メッセージ識別ヘッダー ("message-id") を格納します |
.receivedAt : Text IMAPサーバーにメールが到着した時間の、ISO 8601 UTC フォーマットでのタイムスタンプ (例: 2020-09-13T16:11:53Z) を格納します |
.references : Collection 返信チェーン内メッセージの、全メッセージID のコレクションを格納します |
.replyTo : Text .replyTo : Object .replyTo : Collection 返信用 アドレス を格納します |
.sendAt : Text メールのタイムスタンプ (ISO 8601 UTCフォーマット) を格納します |
.sender : Text .sender : Object .sender : Collection メールのソース アドレス を格納します |
.size : Integer IMAPサーバーから返された Email オブジェクトのサイズ (バイト単位) を格納します |
.subject : Text メールの件名を格納します |
.textBody : Text 標準テキスト形式のメールメッセージ (デフォルトの文字セットは UTF-8) を格納します (任意、SMTPのみ) |
.to : Text .to : Object .to : Collection メールのメインの受信者 アドレス を格納します |
メールアドレス
メールアドレスを格納するプロパティ (from
, cc
, bcc
, to
, sender
, replyTo
) はすべて、テキスト・オブジェクト・コレクション型の値を受け付けます。
テキスト
- 単一のメールアドレス: "somebody@domain.com"
- 単一の表示名+メールアドレス: "Somebody somebody@domain.com"
- 複数のメールアドレス: "Somebody somebody@domain.com,me@home.org"
オブジェクト
2つのプロパティを持つオブジェクト:
プロパティ | 型 | 説明 |
---|---|---|
name | Text | 表示名 (null も可能) |
Text | メールアドレス |
コレクション
アドレスオブジェクトのコレクシ ョン
メール本文の扱い
textBody
および htmlBody
はどちらもSMTP.send() でのみ使用され、これによって単純なメールの送信が可能になります。 プロパティが両方ともある場合、MIME content-type の multipart/alternative が使用されます。 メールクライアントは multipart/alternative パートを認識し、必要に応じてテキスト部または html 部を表示します。
Email オブジェクト が MIME ドキュメントからビルドされた場合 (例: MAIL Convert from MIME
コマンドで生成されたとき) は、bodyStructure
および bodyValues
が SMTP に使用されます。 この場合、bodyStructure
および bodyValues
プロパティは両方一緒に渡される必要があり、textBody
および htmlBody
の使用は推奨されません。
bodyStructure および bodyValues オブジェクトの例
"bodyStructure": {
"type": "multipart/mixed",
"subParts": [
{
"partId": "p0001",
"type": "text/plain"
},
{
"partId": "p0002",
"type": "text/html"
}
]
},
"bodyValues": {
"p0001": {
"value": "I have the most brilliant plan. Let me tell you all about it."
},
"p0002": {
"value": "<!DOCTYPE html><html><head><title></title><style type=\"text/css\">div{font-size:16px}</style></head><body><div>I have the most brilliant plan. Let me tell you all about it.</div></body></html>"
}
}
.attachments
.attachments : Collection
説明
.attachments
プロパティは、 4D.MailAttachment
オブジェクトのコレクションを格納します.
MailAttachment オブジェクトは MAIL New attachment
コマンドによって定義されます。 MailAttachment オブジェクトは特有の プロパティや関数 を持ちます。
.bcc
.bcc : Text
.bcc : Object
.bcc : Collection
説明
.bcc
プロパティは、 非表示 (BCC: Blind Carbon Copy) のメール受信者 アドレス を格納します.
.bodyStructure
.bodyStructure : Object
説明
.bodyStructure
プロパティは、 メッセージ本文の完全な MIME ストラクチャーである EmailBodyPart オブジェ クトを格納します (任意). メール本文の扱い を参照ください。
.bodyStructure
オブジェクトには、次のプロパティが格納されています:
プロパティ | 型 | 値 |
---|---|---|
partID | Text | メールのパートを固有に識別する ID |
type | Text | (必須) パートの Content-Type ヘッダーフィールドの値 |
charset | Text | Content-Type ヘッダーフィールドの Charset の値 |
encoding | Text | isEncodingProblem=true の場合、Content-Transfer-Encoding の値が追加されます (デフォルトでは未定義) |
disposition | Text | パートの Content-Disposition ヘッダーフィールドの値 |
language | Text の Collection | パートの Content-Language ヘッダーフィールドの、RFC3282 で定義されている言語タグの一覧 (あれば) |
location | Text | パートの Content-Location ヘッダーフィールドの、RFC2557 で定義されている URI (あれば) |
subParts | Object の Collection | それぞれの子の本文パート (EmailBodyPart オブジェクトのコレクション) |
headers | Object の Collection | パート内の全ヘッダーフィールドの、メッセージ内で出現する順の一覧 (EmailHeader オブジェクトのコレクション。headers プロパティ参照) |
.bodyValues
.bodyValues : Object
説明
.bodyValues
プロパティは、 bodyStructure
の <partID> 毎にオブジェクトを格納している EmailBodyValue オブジェクトを格納します (任意)。. メール本文の扱い を参照ください。
.bodyValues
オブジェクトには、次のプロパティが格納されています:
プロパティ | 型 | 値 |
---|---|---|
partID.value | text | 本文パートの値 |
partID.isEncodingProblem | boolean | 文字セットをデコーディング中に、不正なフォーマットのセクション、未知の文字セット、あるいは未知の content-transfer-encoding が見つかった場合には true。 デフォルトは false。 |
.cc
.cc : Text
.cc : Object
.cc : Collection