Heim >Backend-Entwicklung >PHP-Tutorial >【急救】使用Zend_Mail构建邮件送信表单,smtp有有关问题

【急救】使用Zend_Mail构建邮件送信表单,smtp有有关问题

WBOY
WBOYOriginal
2016-06-13 09:59:001513Durchsuche

【急救】使用Zend_Mail构建邮件送信表单,smtp有问题
今天写了一段代码,使用Zend_Mail构建邮件送信表单,程序始终运行不成功,我怀疑是我的smtp配置的存在问题,实际运行时
$smtp = new Zend_Mail_Transport_Smtp("smtp.gmail.com",
array(
'port' => '25',
'auth' => 'login',
'username' => [email protected]',
'password' => 'XXXXX'
));
username,password均使用真实的可用的邮箱,其各位兄弟帮忙看看问题在哪里,3Q
整体代码如下:



邮件送信


邮件送信Zend_Mail























To:
邮件名:
添加文件:
正文:





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',
'auth' => 'login',
'username' => [email protected]',
'password' => 'XXXXX'
));
Zend_Mail::setDefaultTransport($smtp);

$mail = new Zend_Mail();
$mail->addTo($_POST['to']);
$mail->setForm("[email protected]",encode("田家"));
$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)
电子邮件地址: 您的电子邮件地址([email protected] 或 [email protected]_domain.com)
密码: 您的 Gmail 密码
------解决方案--------------------
array(
'port' => '25',
'auth' => 'login',
'username' => [email protected]',
'password' => 'XXXXX'
));


修改为:

PHP code
array('port' => '587','auth' => 'login','username' => [email protected]','password' => 'XXXXX'));<div class="clear">
                 
              
              
        
            </div>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn