목차
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer
您可能感兴趣的文章:
백엔드 개발 PHP 튜토리얼 phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer_PHP教程

phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer_PHP教程

Jul 12, 2016 am 08:55 AM
gmail phpmailer phpnow 이메일 보내기

phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer

本文实例讲述了phplist及phpmailer通过gmail发送邮件的配置方法。分享给大家供大家参考,具体如下:

一般来说,只要你使用的不是gmail邮箱,那么利用phplist发送邮件只要按照前面《PHP的邮件群发系统phplist配置方法详细总结》配置就够了。但若你如同我一样不幸,必须使用gmail这种有ssl验证的邮箱,那么恭喜你,我的不幸现在已然成为你的幸运,经过数天的尝试,我终于成功将gmail与phplist组合在了一起。现将经验分享于此,希望对各位同我一般境遇的同志有用。另外,phplist的核心是phpmailer,我提出的解决方案也主要是围绕phpmailer的,所以需要使用phpmailer通过gmail发送邮件而不能成功者也可以参考我的方法。

首先按照《PHP的邮件群发系统phplist配置方法详细总结》中的配置方法通过gmail发送邮件,在发送测试邮件时phplist会报告发送邮件失败,在事件日志(eventlog)里会有错误提示“Mailer Error: The following From address failed:...”,说是发件人地址存在问题。难道是已经连上smtp服务器,但是发送邮件过程中存在问题吗?可以用一个方法试验一下到底连没连上smtp服务器:我把config.php文件中的邮箱帐户密码故意填错,结果发送测试邮件时仍然报同样的错误,看来是根本就没连上smtp服务器,这phplist的错误报告也太……

知道是没连上smtp服务器那就说明问题出现在phplist发送邮件的核心——另一款著名开源软件phpmailer。

上网查了一下phpmailer发送gmail邮件的资料,发现人们说旧版本的phpmailer不支持ssl验证,不能连接gmail的smtp服务器,而此问题已在新版的phpmailer中解决了。

打开lists/admin/phpmailer/ChangeLog.txt,发现最新版的phplist自带的phpmailer的版本是1.73,是2005年出的,确实不算新。于是上phpmailer的官网下了个最新的5.1的。

我想先研究一下新版的phpmailer是如何解决ssl验证的问题的,于是看了一下其自带的一些说明文档,碰巧发现在PHPMailer_v5.1/docs下有一个use_gmail.txt,看来是官方比较重视gmail问题,专门出了一个demo供人参考。打开一看也确实是一个完整的php页面文件,基本上修改了文件扩展名、邮箱用户名和密码就能使用,但如果仅仅如此修改,在访问该测试页面时会报错,也不知官方出的demo怎么会有这样的错误,居然会调用一个未定义的函数,而且有一些没有必要的成分。我们只不过想先测试一下能否正常发送邮件,所以我将其修改为:

<&#63;php
    // example on using PHPMailer with GMAIL
    include("class.phpmailer.php");
    include("class.smtp.php"); // note, this is optional - gets called from main class if not already loaded
    $mail       = new PHPMailer();
    $body       = "test";
    $mail->IsSMTP();
    $mail->SMTPAuth  = true;         // enable SMTP authentication
    $mail->SMTPSecure = "ssl";         // sets the prefix to the servier
    $mail->Host    = "smtp.gmail.com";   // sets GMAIL as the SMTP server
    $mail->Port    = 465;          // set the SMTP port
    $mail->Username  = "myname@gmail.com"; // GMAIL username
    $mail->Password  = "mypassword";      // GMAIL password
    $mail->From    = "myname@gmail.com";
    $mail->FromName  = "Webmaster";
    $mail->Subject  = "This is the subject";
    $mail->AltBody  = "This is the body when user views in plain text format"; //Text Body
    $mail->WordWrap  = 50; // set word wrap
    $mail->MsgHTML($body);
    $mail->AddReplyTo("myname@gmail.com","Webmaster");
    $mail->AddAddress("myname@gmail.com","First Last");
    $mail->IsHTML(true); // send as HTML
    if(!$mail->Send()) {
     echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
     echo "Message has been sent";
    }
&#63;>

로그인 후 복사

结果发现访问此页面时仍然报错,真是令人无奈,官方给的demo怎么会无法运行?

这时我忽然想起PHPMailer_v5.1/docs下有一个名为Note_for_SMTP_debugging.txt的文件,现在我不正是在为连不上smtp服务器而烦恼吗,不妨看一下里面提供的调试方法。

打开文件看完第一行就眼前一亮,这正是我所需要的!其实使用方法也很简单,只要在

$mail->IsSMTP();

로그인 후 복사

前插入

$mail->SMTPDebug = 1;

로그인 후 복사

便可在报错同时得到更见详细的错误信息。真是好东西^_^

按照这样修改完后,我在访问页面时得到了更加详细的说明——“SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (28593608)”。

原来如此,于是我打开了我的php配置文件(C://Windows/php.ini)搜索ssl,果然搜到一个关于ssl的扩展

;extension=php_openssl.dll

로그인 후 복사

它没有被打开。去掉其前面用于注释的“;”,然后重启服务器,再次访问测试页面use_gmail.php,仍然是同样的错误提示。

没办法了,我上网查了一下关于php以及apache的ssl配置的文章,发现仅仅是将ssl扩展模块开启是不够的,还要对openssl进行配置,在Windows环境下配置方法倒是很简单——找到php安装目录下的ssleay32.dll和libeay32.dll,将这二者复制到windows下的system32目录中即可(在php.ini中开启extension=php_openssl.dll还是必要的)。当然,不想“污染”system32目录的同志们可以用修改环境变量的方法,只要让ssleay32.dll和libeay32.dll在系统路径下就可以了。(如果你使用的不是winidows操作系统,请上网查找针对你的操作系统的配置ssl的方法,应该不难找到)

这回再访问use_gmail.php发现可以成功发送了!

在此基础上,我们的phplist的问题也可以解决了:用新版phpmailer中的class.phpmailer.php和class.smtp.php覆盖lists/admin/phpmailer中的对应文件,然后修改lists/admin/class.phplistmailer.php中36行左右处的

$this->SMTPAuth = true;
$this->Helo = getConfig("website");
$this->Host = PHPMAILERHOST;

로그인 후 복사

为:

$this->IsSMTP();            # Add
$this->SMTPAuth = true;
$this->SMTPSecure = "ssl";       # Add
$this->Helo = getConfig("website");
$this->Host = PHPMAILERHOST;
$this->Port = 465            # Add

로그인 후 복사

其中phpmailer默认端口号为25,是大多数smtp服务器的端口号,但是gmail使用的端口号是465,所以要重新设置。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:

  • PHP的邮件群发系统phplist配置方法详细总结
  • PHP借助phpmailer发送邮件
  • thinkphp使用phpmailer发送邮件的方法
  • 使用PHPMailer实现邮件发送代码分享
  • phpmailer在服务器上不能正常发送邮件的解决办法
  • PHPMailer发送HTML内容、带附件的邮件实例
  • phpmailer中文乱码问题的解决方法
  • PHP使用PHPMailer发送邮件的简单使用方法
  • ThinkPHP利用PHPMailer实现邮件发送实现代码
  • phpmailer发送gmail邮件实例详解
  • PHPMailer邮件发送的实现代码

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1117064.htmlTechArticlephplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer 本文实例讲述了phplist及phpmailer通过gmail发送邮件的配置方法。分享给大...
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Gmail에서 텍스트나 이미지에 하이퍼링크를 추가하는 방법 Gmail에서 텍스트나 이미지에 하이퍼링크를 추가하는 방법 May 06, 2023 pm 06:07 PM

얼마나 많은 인스턴트 메시징 앱이 등장했다가 사라지더라도 이메일은 항상 완전히 다른 느낌을 갖습니다. 메일링은 Gmail과 동의어입니다. 전문적인 프론트 데스크는 말할 것도 없고, Gmail은 피할 수 없는, 그냥 피할 수 없는 것입니다! Gmail은 매우 자주 사용되므로 무슨 일이 있어도 Gmail 환경을 가장 원활하고 효율적으로 만드는 방법을 알아야 합니다. 이메일 본문에 많은 웹 링크를 추가해야 할 가능성이 높으며, 링크가 너무 많으면 확실히 다루기 어려워 보일 것입니다. 그러나 긴 링크로 인해 이메일이 보기 흉해 보일지라도 링크는 반드시 필요합니다. 그럼 탈출구가 있나요? 하이퍼링크는 어떻습니까? 텍스트나 이미지의 링크를 어떻게 숨깁니까? 멋지나요? 아 맞다 Gmail은

PHPMailer를 사용하여 여러 사람에게 이메일을 보내는 PHP 방법 및 단계 PHPMailer를 사용하여 여러 사람에게 이메일을 보내는 PHP 방법 및 단계 May 22, 2023 pm 06:10 PM

웹 애플리케이션에서는 한 번에 여러 수신자에게 이메일을 보내야 하는 경우가 많습니다. PHP는 매우 널리 사용되는 웹 개발 언어이고 PHPMailer는 이메일 전송을 위한 일반적인 PHP 클래스 라이브러리입니다. PHPMailer는 풍부한 인터페이스를 제공하여 PHP 애플리케이션에서 이메일을 보다 편리하고 쉽게 보낼 수 있도록 해줍니다. 이 기사에서는 PHPMailer를 사용하여 여러 수신자에게 이메일을 보내는 방법과 단계를 소개합니다. PHPMailer를 다운로드하려면 먼저 공식 웹사이트(

PC 또는 모바일의 Gmail에서 Boomerang을 제거하는 방법 PC 또는 모바일의 Gmail에서 Boomerang을 제거하는 방법 Apr 14, 2023 pm 10:46 PM

Gmail에서 Boomerang을 제거하는 방법 PC 또는 휴대폰의 Gmail 계정에서 Boomerang을 제거하려면 아래의 단계별 가이드를 찾아보세요. PC의 Gmail에서 Boomerang을 제거하려면 컴퓨터에서 Google Chrome 브라우저를 엽니다. Google Chrome에서는 화면 오른쪽 상단에 있는 점 3개 아이콘을 클릭합니다. 드롭다운 메뉴에서 추가 도구를 선택합니다. 다음 드롭다운 메뉴에서 확장 프로그램을 클릭하세요. 확장 화면에서 다음을 찾으세요.

PHP 개발 실습: PHPMailer를 사용하여 MySQL 데이터베이스의 사용자에게 이메일 보내기 PHP 개발 실습: PHPMailer를 사용하여 MySQL 데이터베이스의 사용자에게 이메일 보내기 Aug 05, 2023 pm 06:21 PM

PHP 개발 실습: PHPMailer를 사용하여 MySQL 데이터베이스의 사용자에게 이메일 보내기 소개: 현대 인터넷 구축에서 이메일은 중요한 통신 도구입니다. 전자상거래에서 회원가입, 비밀번호 재설정, 주문확인 등 이메일 발송은 필수적인 기능입니다. 이 기사에서는 PHPMailer를 사용하여 이메일을 보내고 이메일 정보를 MySQL 데이터베이스의 사용자 정보 테이블에 저장하는 방법을 소개합니다. 1. PHPMailer 라이브러리를 설치하십시오. PHPMailer는

이제 Gmail 앱의 Google Gemini: Android 기기에서 AI를 통한 스마트 이메일 검색 이제 Gmail 앱의 Google Gemini: Android 기기에서 AI를 통한 스마트 이메일 검색 Aug 31, 2024 am 09:54 AM

Google은 이미 웹 버전의 Gmail에서 사용할 수 있었고 Google의 Gemini AI 도우미로 구동되는 AI 기반 Q&A 기능을 통해 Android에서 Gmail 앱을 확장하고 있습니다. 이제 사용자는 특정 질문을 통해 받은 편지함을 보다 효율적으로 검색할 수 있습니다.

Gmail에서 자동 완성 이메일 주소를 제거하는 방법 Gmail에서 자동 완성 이메일 주소를 제거하는 방법 Apr 21, 2023 am 10:46 AM

Gmail은 Google에서 가장 널리 사용되는 웹 기반 이메일 서버이며 이메일 탐색, 편집, 전송에 도움이 되는 많은 강력한 기능을 제공합니다. 그러한 기능 중 하나는 사용자가 전체 주소 입력을 완료하기 전에 연락처로 저장된 이메일 주소 목록을 볼 수 있는 자동 완성 목록입니다. 이 기능은 정말 유용하지만 더 이상 유효하지 않거나 사용자가 삭제한 일부 이메일 주소가 있을 수 있으므로 때로는 좋은 접근 방식이 아닐 수도 있습니다. 예를 들어, 조직을 떠난 사람은 더 이상 회사 이메일 주소에 액세스할 수 없습니다. 하지만 Gmail의 자동 완성 목록에 강조 표시된 이메일 주소를 제거하는 방법이 있습니다. Gmail 자동 완성 목록에서도 이메일을 제거하려는 경우

PHP 및 PHPMAILER를 사용하여 이미지가 포함된 HTML 메일을 보내는 방법은 무엇입니까? PHP 및 PHPMAILER를 사용하여 이미지가 포함된 HTML 메일을 보내는 방법은 무엇입니까? Jul 22, 2023 am 11:29 AM

PHP 및 PHPMAILER를 사용하여 이미지가 포함된 HTML 메일을 보내는 방법은 무엇입니까? HTML 이메일은 이메일에 그림, 링크 및 스타일을 삽입할 수 있는 더욱 풍부하고 개인화된 형태의 이메일입니다. 삽입된 이미지는 이미지를 첨부 파일로 보내는 대신 HTML 이메일에서 이메일의 일부로 직접 보내는 것을 의미합니다. PHP에서는 PHPMAILER를 사용하여 이미지가 포함된 HTML 이메일을 보낼 수 있습니다. PHPMAILER는 강력한 PHP 이메일 전송 라이브러리입니다

iPhone 및 iPad의 메일 앱에서 Gmail을 보관처리 대신 삭제하도록 설정하는 방법 iPhone 및 iPad의 메일 앱에서 Gmail을 보관처리 대신 삭제하도록 설정하는 방법 Apr 13, 2023 pm 02:34 PM

iOS의 Gmail에서 메시지를 삭제하려고 하면 보관 옵션만 표시된다는 사실을 알고 계셨나요? 메일 앱에 보관하지 않고 iPhone에서 Gmail을 삭제하는 방법을 알아보려면 계속 읽어보세요. iPhone 및 iPad에서 메일 앱을 사용하여 Gmail 이메일을 보관하기 위한 기본 옵션을 변경하는 설정은 설정에 완전히 숨겨져 있지만 어디로 가야 할지 알면 빠르게 변경할 수 있습니다. 이 튜토리얼은 iPhone 및 iPad에서 Apple Mail 앱을 통해 Gmail을 사용하는 사람들을 위한 것입니다. 또 다른 옵션은 iPhone/iPad에서 Gmail 앱을 사용하는 것입니다. 너도

See all articles