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