1

私は Cakephp 2.3.0 を使用しています。devocot + postfix を使用してメールを送信したいです。roundCube をインストールしたので、SMTP は正常に動作し、電子メールを受信して​​送信します。

class EmailConfig {
public $default = array(
    'host' => 'poczta.example.com',
    'port' => 25,
    'auth' => 'plain',
    'username' => 'username@poczta.example.com',
    'password' => '**********',
    'tls' => true,
    'transport' => 'Smtp',
    'from' => array('username@poczta.example.com' => 'Username'),
    'returnPath' => 'username@poczta.example.com',
    'layout' => false,
    'emailFormat' => 'html',
    'template' => 'only_text',
    'charset' => 'utf-8',
    'headerCharset' => 'utf-8',
);

}

メール送信用コード:

        try {
            $oEmail->reset();
            $oEmail->config('default');
            $oEmail->to(preg_replace('/&#?[a-z0-9]+;/i', '' , trim($v['Email']['email']) ));
            $oEmail->subject($subject);
            $content = str_replace('${id}', md5($v['Email']['id']), $context);
            $content = str_replace('queueId', $queueId, $content);
            $oEmail->viewVars(array('email' => $content));
            if($oEmail->send()) {
                $last = $v['Email']['id'];
                $send++;
            }
        }
        catch(Exception $e) {
            $this->out($e->getMessage());
        }

そして、私はコンソールを見る:

SMTP Error: 535 5.7.8 Error: authentication failed: Invalid authentication mechanism

telnet を使用した簡単なテスト:

telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 poczta.example.com ESMTP Postfix (Debian/GNU)
ehlo testing
250-poczta.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

ケーキを使用してメールを送信する方法を教えてください。編集: メール構成ファイルに tls があります。

4

1 に答える 1