>백엔드 개발 >PHP 튜토리얼 >【急救】使用Zend_Mail构建邮件送信表单,smtp有有关问题

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

WBOY
WBOY원래의
2016-06-13 09:59:001513검색

【急救】使用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>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.