SMTP メール送信をする
SFXSMTPSender クラスを使ってメール送信を行います。
class MyClass { private: SFXSMTPSender _sender; CALLBACK_DECLARE_SFXSMTPSENDER(SMTPCallback) public: Void Start(Void); }; Void MyClass::Start(Void) { SFCError error; SFXMailMessage message; // メール ヘッダーに From フィールドを設定する message.SetFromField("fromaddress@example.com"); // メール ヘッダーに To アドレスを追加する message.AddToField("toaddress1@example.com"); message.AddToField("toaddress2@example.com"); // メール ヘッダーに Subject フィールドを設定する message.SetSubjectField("Mail Subject"); // メール メッセージの本文を設定する message.SetBody("Mail test\r\nThis mail is sent by SFXSMTPSender.\r\n"); // SMTP サーバーの IP アドレスとポート番号を指定する // ( ドメインは自動解決される ) _sender.SetServer(SFXSocketAddress("smtpserver.example.com:25")); // メールを送信する。送信が完了すると SMTPCallback 関数が呼び出される if ((error = _sender.SendMessage(&message, CALLBACK_FUNCTION(SMTPCallback))) != SFERR_NO_ERROR) { // error が SFERR_NO_ERROR でない場合はコールバックが戻らないので、 // ここでエラー処理をする } } // メール送信が完了したときに呼び出されるコールバック関数 CALLBACK_IMPLEMENT_SFXSMTPSENDER(MyClass, SMTPCallback, error) { if (error == SFERR_NO_ERROR) { TRACE("メールを送信しました。"); } else { TRACE("メール送信に失敗しました。 %d", error); } }