BorlandC++Builder/メールを送信する

BCB6Professional版にはIndy Clientsというコンポーネントパレットがインストールされています。その中のTIdSMTPを使用すれば容易にメールの送信を実装することができます。ここから最新版をダウンロードできるようです。

目次

QuickSendを使った方法

通常のコンポーネントと同様にTIdSMTPをフォームに張り、QuickSendメソッドを呼び出します。

IdSMTP1->QuickSend(__classid(TIdSMTP),
            "mail.ccc.ne.jp",    // 送信サーバ
            "subject",           // タイトル
            "aaa@bbb.ne.jp",     // 宛先アドレス
            "bbb@ccc.ne.jp",     // 送信者アドレス
            "body"               // 本文
            );

これが基本の形です。QuickSendが完了するまで動作が止まるので、それが困る場合は別スレッドにしましょう。
また、タイトルや本文に日本語を使うメールの場合は注意が必要となっていて、EarthWave Softさんのjconvert.pasを使用した対策がwebで見つかります。作者のHPは既に閉鎖されていますが、web.archive.orgにて見つけることが出来ました。jconvert.pasを同じフォルダに置き、プロジェクトに加えます。次に、ユニットのコンパイルを行います。あとは、ユニットヘッダーファイルの追加でライブラリが使用可能になります。

IdSMTP1->QuickSend(__classid(TIdSMTP),
            "mail.ccc.ne.jp",                  // 送信サーバ
            CreateHeaderString("タイトル"),    // タイトル
            "aaa@bbb.ne.jp",                   // 宛先アドレス
            "bbb@ccc.ne.jp",                   // 送信者アドレス
            ConvertJCode("本文 body")         // 本文
            );

ヘッダ情報に日本語が含まれる場合はCreateHeaderStringを使用し、本文の場合はConvertJCodeを使用します。


2005-04-29 komina