ホームページ  >  記事  >  バックエンド開発  >  [応急処置] Zend_Mail を使用して電子メール配信フォームを構築すると、smtp に関連する問題が発生します

[応急処置] Zend_Mail を使用して電子メール配信フォームを構築すると、smtp に関連する問題が発生します

WBOY
WBOYオリジナル
2016-06-13 13:45:05889ブラウズ

[応急処置] Zend_Mail を使用してメール配信フォームを作成しましたが、smtp に問題があります
今日コードを書いて、Zend_Mail を使用してメール配信フォームを作成すると、プログラムが常に実行に失敗したのではないかと思われました。実際に実行すると、
$smtp = new Zend_Mail_Transport_Smtp("smtp.gmail.com",
array(
'port' => '25',
) に問題がありました。 'auth' => 'login',
'username' => 'XXXX@gmail.com',
'password' => 'XXXXX'
));
実際に使用可能なものを使用しますユーザー名とパスワードの電子メール アドレスを教えてください。3Q
の全体的なコードは次のとおりです。



メール配信


メール配信Zend_Mail


< ;form method="post" action="richmail.php" enctype="multipart/form-data">

















To: < /td>
メール名: < /th>
ファイルを追加します:
テキスト: <テキストエリアname="body" cols="50" rows="15 ">



gt;

function encode($ str){
return mb_convert_encoding($str, "gb2312" ,"auto");
}
if($_POST['submit'] != null){
require_once 'Zend/Mail .php';
require_once 'Zend/Mail/Transport/ Smtp.php';
$smtp = new Zend_Mail_Transport_Smtp("smtp.gmail.com",
array(
'port' => ; '25',
'認証' => 'ログイン',
'ユーザー名' => 'XXXX@gmail.com',
'パスワード' => 'XXXXX'
) ;
Zend_Mail::setDefaultTransport($smtp);

$mail = new Zend_Mail();
$mail->addTo($_POST['to']);
$ mail->setForm("Circleinthehouse@gmail.com" ,encode("Tianjia"));
$mail->setSubject(encode($_POST['subject']));
$mail- >setBodyHtml(encode($_POST['body'] ));
$attach = $mail->createAttachment(file_get_contents($_FILES['fl']['tmp_name']));
$ attach->type = $_FILES['fl'] ['type'];
$attach->filename = $_FILES['fl']['name'];
$mail-> send();
print("メールは正常に送信されました! ");
}
?>




------解決策- - -----------------
SMTP ポート エラー、GMAIL ポートが 25 ではありません。GMAIL 公式の手順を参照してください:

他のメールを設定する クライアントの手順

標準手順:

Gmail で POP を有効にします。完了したら、[変更を保存] をクリックすることを忘れないでください。
次の設定と一致するようにクライアントを構成します。
受信メール (POP3) ) サーバー - SSL が必要:pop.gmail.com
SSL の使用: はい
ポート: 995
送信メール (SMTP) サーバー - TLS または SSL が必要: smtp.gmail.com (認証を使用)
認証の使用: はい
TLS/STARTTLS のポート: 587
SSL のポート: 465
アカウント名: 完全なメール アドレス (@gmail.com または @ your_domain.com を含む)
メール アドレス: あなたのメールアドレス (username@gmail.com または username@your_domain.com)
パスワード: Gmail のパスワード
------解決策---------
array(
'port' => ; '25',
'認証' => 'ログイン',
'ユーザー名' => 'XXXX@gmail.com',
'password' => 'XXXXX'
));


は次のように変更されました:

PHP コード

配列(
'ポート' => '587',
'認証' => 'ログイン'、
'ユーザー名' => 'XXXX@gmail.com',
「パスワード」 => 「XXXXX」
));
 <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。