メール送信の新しいカタチ

Deeplからの自動翻訳

私たちは、電子メールを送信することの重要性と、それが今日のアプリケーションで一般的なタスクになっていることを知っています。例えば、あなたがビジネスをしていて、HTMLベースの魅力的なメールに数枚の画像やビデオを添付し、ファイル(例えば、発注書や請求書)を添付して送信したいとします。そして、これらすべてをほんの数行のコードで実現したいと思うでしょう。簡単に書け、理解しやすいコードです。4D v17 R4から、このシナリオが可能になりました。そのため、電子メールに関連する機能セットを拡大しました。

この SMTP New transporterコマンドを使えば、3つの簡単なステップでメールを送ることができます。

  • SMTPトランスポーターを作成する
  • 電子メールを作成する
  • 電子メールを送信する

HDIによる電子メールの作成と送信

電子メールを作成する

電子メールは、ドキュメントに記載されている多くのプロパティを持つオブジェクトです。 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-リリースのたびに、より多くの機能を繰り返しリリースしていく予定です。

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。