« 目次

Movable Type オブジェクト・リファレンス

MT::Mail

概要

use MT::Mail;
my %head = ( To => 'foo@bar.com', Subject => 'My Subject' );
my $body = 'This is the body of the message.';
MT::Mail->send(¥%head, $body)
    or die MT::Mail->errstr;

解説

MT::Mailは、Movable Typeのメール送信インターフェースです。このインターフェースにより、(いくつかのデフォルトのパスにある)sendmailを使ってメールを送信したり、SMTPで直接メールを送信したり、デバッグ・インターフェースを使ってデータをSTDERRに書き出したりすることができます。メール送信方法は、mt-config.cgiファイルの設定項目MailTransferの設定を変えることで変更できます。指定可能な設定値は"sendmail"、"smtp"、"debug"のいずれかです。

"sendmail"を使う場合、MT::Mail::sendは、/usr/lib/sendmail、/usr/sbin/sendmail、/usr/ucblib/sendmailのパスにあるsendmailプログラムを探します。これ以外の場所にsendmailが置かれている場合は、設定項目SendMailPathにsendmailのプログラム・パスを指定してください。

"smtp"を使う場合、MT::Mail::sendは、localhostをSMTPサーバーとして使用します。他のSMTPサーバーを使う場合は、設定項目*SMTPServer*にサーバー名を指定してください。

利用方法

MT::Mail->send(¥%headers, $body)

$bodyに指定したメール本文に、¥%headersに指定したメール・ヘッダーを付加してメールとして送信します。

¥%headersハッシュに設定したキーと値は、メール・プログラムあるいはサーバーが直接解析しますので、キーには有効なメール・ヘッダーを指定できます。同じヘッダーに複数の値を設定したい場合、値のリストへのリファレンスを、¥%headersハッシュの値として指定してください。

%headers = ( Bcc => [ 'foo@bar.com', 'baz@quux.com' ] );

sendメソッドは、行の折り返しを行いません。行を折り返したい場合は、折り返し処理を行った値を本文$bodyとして渡してください。

成功するとsendはtrueを返します。失敗するとundefを返し、このときエラー・メッセージはMT::Mail->errstrで取得できます。


Copyright © 2001-2006 Six Apart, Ltd. All Rights Reserved.