1

仮想マシンで ubuntu を使用しています。ここで説明されているように、キャッチメールを使用してメールを送信したいと思います: http://berk.es/2011/05/29/mailcatcher-for-drupal-and-other-php-applications-the-simple-version/

私はそのような電子メールを送信しようとしています:

//Mailer class:
class Mailer extends PHPMailer
{
public $UTF8Encode = false;
public function __construct($param = null)
{   
    parent::__construct($param);
    $this->Mailer = 'sendmail';
    $this->Sendmail = 'smtp://localhost:1025';
    $this->From   = 'xxxx@xxxx.com';
    $this->FromName = 'Support';
    $this->WordWrap = 50;
    $this->CharSet = 'UTF-8';
}
}

....etc....

と:

//Sending emails

$mail = new Mailer();
$mail->Body = "xxxx";
$mail->Subject = "xxx";
$mail->From = 'xxxx@xxxx.org';
$mail->FromName = 'Support';
$mail->WordWrap = 50;
$mail->AddAddress(xxxx@xxxx.com);

そして、私はエラーが発生しています:

Could not execute: smtp://localhost:1025
4

1 に答える 1

1
$this->Mailer = 'sendmail';
$this->Sendmail = 'smtp://localhost:1025';

sendmailこれに関する問題は、smtp を使用する代わりに呼び出されたコマンド ライン プログラムを使用するように PHPMailer に指示していることです。そして PHPMailer は次のようなことをしようとします:

exec("smtp://localhost:1025 --args-and-stuff");

そして、あなたが言うことができるように、これはうまくいきません。

PHPMailer に smtp を使用するように指示するには、次の手順を実行する必要があります。

$this->Mailer = 'smtp';
$this->Host = 'localhost';
$this->Port = 1025;

SMTP サーバーに認証が必要な場合は、次のように実行できます。

$mail->SMTPAuth = true;
$mail->Username = "yourname@yourdomain";
$mail->Password = "yourpassword";
于 2012-10-26T13:00:47.147 に答える