構文エラーが何を参照しているか知っていますか?
これが私がcakephpを使っているコードです
$User = $this->User->read(null,$id);
$this->Email->to = array('[email protected]');;
$this->Email->from = '[email protected]';
$this->Email->subject = 'Welcome to our really cool thing';
$this->Email->template = 'simple_message';
$this->Email->sendAs = 'both';
$this->Email->smtpOptions = array(
'port'=>'465',
'timeout'=>'30',
'auth' => true,
'Host' => 'ssl://smtp.gmail.com',
'username'=>'[email protected]',
'password'=>'********',
);
$this->set('User', $User);
$this->Email->delivery = 'smtp';
$this->Email->send();
注:テスト目的で自分にメールを送信しています。
この質問はここで尋ねられました: Cakephp SMTP emails syntax error
これがRabidFireの(正しい)答えです。
GoogleのSMTPでは、次の方法でメールアドレスをフォーマットする必要があります。
Recipient Name <[email protected]>
これをfromとtoの両方のアドレスに対して実行すれば、問題はありません。ユーザー名がわからない場合は、メールを繰り返すだけです。
$this->Email->to = "[email protected] <[email protected]>";
今日これらのうちの1つを入手したばかりです。私が使用しているライブラリは、メールを送信する前にサイト名を角かっこで囲み、555 5.5.2構文エラーを引き起こします。
名前が行くべきアドレスの最初の部分にシンボルがないのが一番です。私のエラーは
"Name [Site] <[email protected]>"
と固定
"Name Site <[email protected]>"
toおよびfromを "[email protected] <[email protected]>"に設定しても機能しませんでした。両方を "<[email protected]>"に変更する必要がありました。 <>部分の外に文字列を置くと、「Mail send failed 555 5.5.2 Syntax error。.-gsmtp」で失敗します
私はこの問題を抱えていましたが、dude.muñoz@ domain.comのようなメールで、dude.mu&#241oz @ domain.comへの変更を解決しました(ユニコードで特殊文字を変更する)。
"YourName"inside <>かっこをsenderフィールドに入力します。
Erlang、Vagabond/gen_smtp、Gmailを使用しています。
これは私の設定ファイルの一部です:
{email_conf, [
{sender, <<"<YourName [email protected]>">>},
{options, [
{ssl, true},
{port, 465},
{relay, <<"smtp.gmail.com">>},
{username, <<"[email protected]">>},
{password, <<"...">>}
]}
]},
そして機能:
send_html(Subject, Body, Sender, Receiver, Opts) ->
Mimemail =
{<<"text">>, <<"html">>,
[
{<<"From">>, Sender},
{<<"To">>, Receiver},
{<<"Subject">>, Subject},
{<<"Content-Type">>, <<"text/html; charset=utf-8">>}
],
[{<<"transfer-encoding">>, <<"base64">>}],
Body},
Mail = {Sender, [Receiver], mimemail:encode(Mimemail)},
gen_smtp_client:send_blocking(Mail, Opts).
「from」フィールドが空であるか無効な場合、このエラーが発生します。したがって、テストでは偽のメールを使用しないでください。