私たちは、電子メールを送信することの重要性と、それが今日のアプリケーションで一般的なタスクになっていることを知っています。例えば、あなたがビジネスをしていて、HTMLベースの魅力的なメールに数枚の画像やビデオを添付し、ファイル(例えば、発注書や請求書)を添付して送信したいとします。そして、これらすべてをほんの数行のコードで実現したいと思うでしょう。簡単に書け、理解しやすいコードです。4D v17 R4から、このシナリオが可能になりました。そのため、電子メールに関連する機能セットを拡大しました。
この SMTP New transporterコマンドを使えば、3つの簡単なステップでメールを送ることができます。
- SMTPトランスポーターを作成する
- 電子メールを作成する
- 電子メールを送信する
電子メールを作成する
電子メールは、ドキュメントに記載されている多くのプロパティを持つオブジェクトです。 transporter.send() のドキュメントに記載されている多くのプロパティを持つオブジェクトです。以下は、著者、受信者、件名、本文、添付ファイルなどの情報を持つ電子メールを作成する方法の例です。
まず、メールの作成者を指定しましょう。
$email:=New object
”
$email .from:="noreply.mail@4d.com
次に受信者を指定します (異なる構文を使用します)。
//Originating addresses
$emailto:="address1@mail.com,address2@mail.com" . := ("name"; "Stephen"; "email"; "address3@mail.com") . :="address4@mail.com,address5@mail.com"
// Carbon Copy
$emailccNew object
// Blind Carbon Copy
$emailbcc
次に、件名を追加してみましょう。
$email.subject:="Hello world"
そして本文は.本文の2種類を指定できます。
$email.textBody:="Test mail \n This is just a test email \n Please ignore it".
とHTMLの2種類を指定できます。
$email.htmlBody:="<html><body><h1>Test mail </h1> This is just a test email <br /> Please ignore it</body></html>".
両方同時に使ってもいいし、別々に使ってもいい。両方使う場合は、受信者が使っているクライアントメールに依存した表示になります。
最後に、添付ファイルを追加するために MAIL New attachmentコマンドで添付ファイルを追加できます。
$emailattachments:= ( ("c:\tmp⇄d.png"))New collectionMAIL New attachment
SMTPトランスポーターの作成
さて、メールができたら、次は送信です。そのためには、どのSMTPサーバを使用するかを SMTP New transporterコマンドで指定します。
$smtp:=New object
$smtp .host:="smtp.hostname"
$smtp .port:=25
$smtp .user:="User"
$smtp .password:="Password"
$smtpTransporter :=SMTP New transporter($smtp
)
メールの送信
最後に、メールを送信します。
$status:=$smtpTransporter.send($email)
これがメールボックスに届いたテストメールです。
上記の例でお分かりのように、メールの作成と送信は劇的に改善され、非常に使いやすくなっています。隠れたパワーがたくさんあるのです。トランスポーターの設定(ユーザー認証、サーバーデータ)を簡単にテストできたり、エンクロージャーを添付ファイルやインライン(HTML内)で指定できたり、その他にもいろいろあります。これはパイプラインにあるいくつかの機能の最初のもので、R-リリースのたびに、より多くの機能を繰り返しリリースしていく予定です。