백엔드 개발 PHP 튜토리얼 Gmail_php 팁으로 대량 전송하는 PHPmailer의 일반적인 문제 요약

Gmail_php 팁으로 대량 전송하는 PHPmailer의 일반적인 문제 요약

May 16, 2016 pm 07:58 PM
gmail phpmailer 대량보내기

PHPmailer를 사용하여 Gmail로 그룹 이메일을 보낼 때 모든 사람은 많은 일반적인 문제에 직면하게 됩니다. 다음은 귀하의 연구에 도움이 될 몇 가지 일반적인 문제에 대한 요약입니다.

1.인증할 수 없습니다

우선 루프를 사용하지 않는다면 기본적으로 계정이나 비밀번호가 틀렸기 때문입니다.

루프를 사용하여 대량 메시지를 보내는 경우 send() 메서드가 완료된 후 Smtpclose()를 호출하고 한 번 보내고 닫는 것을 잊지 마세요. 그렇지 않으면 이메일을 하나만 보낼 수 있으며 충돌이 발생합니다. 두번째.

2.Gmail

먼저 PHP의 SSL 권한을 활성화하세요

php에서 openssl을 활성화하는 방법 대부분의 경우 openssl을 활성화하려면 다음과 같은 간단한 설정을 수행해야 합니다.

창 아래에서 여는 방법:

1: 먼저 php.ini에 Extension=php_openssl.dll이 있는지 확인합니다. 존재하는 경우 이전 주석 문자 ';'를 제거하고 이 줄이 없으면 Extension=php_openssl.dll을 추가합니다.

2: php 폴더에 있는 php_openssl.dll, ssleay32.dll, libeay32.dll 3개 파일을 WINDOWSsystem32 폴더에 복사합니다.

3: Apache 또는 iis 다시 시작

이 시점에서 openssl 기능이 활성화됩니다.

Linux에서 활성화하는 방법:

저는 Jinshang Data의 클라우드 호스트인 PHP 버전: 5.2.14를 사용하고 있습니다

다음 계획에서는 내 호스트를 예로 들어 PHP에 openssl 모듈 지원을 추가하는 방법을 설명합니다.

인터넷의 일부 답변에서는 PHP를 다시 컴파일하고, 매개변수 구성을 추가하고, openssl 지원을 추가해야 한다고 말합니다. 재컴파일이 필요하지 않은 방법은 다음과 같습니다.

서버에 PHP 설치 패키지 파일이 존재하는 것이 가장 좋습니다. 삭제된 경우 phpinfo 페이지에 표시된 것과 동일한 버전의 PHP 설치 파일을 다운로드하세요. php-5.2.14.tar.gz

소후 미러 다운로드를 권장하는데 넷이즈 미러를 찾을 수 없습니다. 주소는 http://mirrors.sohu.com/php/

입니다.

Ssh 도구를 사용하여 호스트에 연결합니다.

# 下载到/var/www/php5目录下

cd /var/www/php5

wget http://mirrors.sohu.com/php/php-5.2.14.tar.gz

# 解压

tar zxvf php-5.2.14.tar.gz

# 进入PHP的openssl扩展模块目录

cd php-5.2.14/ext/openssl/

/var/www/php5/bin/phpize # 这里为你自己的phpize路径,如果找不到,使用whereis phpize查找

# 执行后,发现错误 无法找到config.m4 ,config0.m4就是config.m4。直接重命名

mv config0.m4 config.m4

/var/www/php5/bin/phpize

./configure --with-openssl --with-php-config=/var/www/php5/bin/php-config

make

make install

# 安装完成后,会返回一个.so文件(openssl.so)的目录。在此目录下把openssl.so 文件拷贝到你在php.ini 中指定的 extension_dir 下(在php.ini文件中查找:extension_dir =),我这里的目录是 var/www/php5/lib/php/extensions

# 编辑php.ini文件,在文件最后添加

extension=openssl.so

# 重启Apache即可

/usr/local/apache2/bin/apachectl restart

로그인 후 복사

자, 이제 openssl 지원이 성공적으로 추가되었습니다.

그러나 Gmail의 문제는 여기서 끝나지 않습니다. Gmail의 현재 SMTP와 POP3는 모두 SSL로 암호화되어 있습니다.

1단계.php openssl 모듈(확장) 지원
2단계.phpmailer 라이브러리 다운로드
Step3. 'class.phpmailer.php', 'class.smtp.php' 코드 변경

1.phpmailer 및 smtp Riga 속성 Is_SSL

public $Is_SSL = false;
로그인 후 복사

2. phpmailer의 SmtpConnect 메소드에서 smtp 객체에 전달합니다.

$this->smtp-> Is_SSL = $this-> Is_SSL ;
로그인 후 복사

3. smtp의 Connect 메서드는 fsockopen 호출 앞에

을 추가합니다.
if($this->is_ssl){ $host = 'ssl://'.$host; }
로그인 후 복사

마지막 단계는 코드에 없는 phpmailer 클래스를 호출하는 것을 기억하세요.

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = 'smtp.gmail.com'; // 您的企业邮局域名
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->SMTPSecure = "tls";
$mail->Username = '***@gmail.com';
$mail->Password = '******';
$mail->From = '***';
$mail->FromName = '***';
$mail->CharSet = 'UTF-8';
$mail->Encoding = "base64";
$mail->IsHTML(true); // send as HTML
$mail->Subject = '***'; //邮件标题
$mail->Body = '***'; //邮件内容
$mail->AltBody = "text/html";
$mail->AddAddress('***', "");
$mail->Is_SSL = true;
$mail->Port = 587;
if (!$mail->Send()) {
  exit($mail->ErrorInfo);
}
$mail->Smtpclose();
unset($mail);
로그인 후 복사

Gmail에서 해당 설정을 지정하는 것을 잊지 마세요.

위의 세 단계를 완료한 후 자유롭게 phpmailer를 사용하여 Gmail 이메일을 보낼 수 있습니다.

phpmailer를 사용하여 Gmail 이메일을 보내는 예를 알려드리겠습니다.

<html>
<head>
<title>PHPMailer - SMTP (Gmail) basic test</title>
</head>
<body>
<?php
//error_reporting(E_ALL);
error_reporting(E_STRICT);
date_default_timezone_set('America/Toronto');
require_once('../class.phpmailer.php');
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
$mail = new PHPMailer();
$body = file_get_contents('contents.html');
$body = eregi_replace("[\]",'',$body);
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "mail.gmail.com"; // SMTP server
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$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 for the GMAIL server
$mail->Username = "***@gmail.com"; // GMAIL username
$mail->Password = "***"; // GMAIL password
$mail->SetFrom('****@gmail.com', 'First Last');
$mail->AddReplyTo("***@gmail.com","First Last");
$mail->Subject = "PHPMailer Test Subject via smtp (Gmail), basic";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$address = "***@gmail.com";
$mail->AddAddress($address, "John Doe");
$mail->AddAttachment("images/phpmailer.gif"); // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>
</body>
</html> 

로그인 후 복사

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

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

뜨거운 기사 태그

메모장++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에서 텍스트나 이미지에 하이퍼링크를 추가하는 방법

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

PHP 개발 실습: PHPMailer를 사용하여 MySQL 데이터베이스의 사용자에게 이메일 보내기

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

PHPMailer를 사용하여 여러 사람에게 이메일을 보내는 PHP 방법 및 단계

WeChat의 모든 사람에게 그룹 메시지를 보내는 방법 - WeChat 그룹 메시지 튜토리얼 WeChat의 모든 사람에게 그룹 메시지를 보내는 방법 - WeChat 그룹 메시지 튜토리얼 Mar 18, 2024 am 10:58 AM

WeChat의 모든 사람에게 그룹 메시지를 보내는 방법 - WeChat 그룹 메시지 튜토리얼

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

Gmail에서 자동 완성 이메일 주소를 제거하는 방법

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

PC 또는 모바일의 Gmail에서 Boomerang을 제거하는 방법

WeChat에서 그룹 메시지를 보내기 위한 단계별 튜토리얼 WeChat에서 그룹 메시지를 보내기 위한 단계별 튜토리얼 Mar 25, 2024 pm 07:11 PM

WeChat에서 그룹 메시지를 보내기 위한 단계별 튜토리얼

PHP와 PHPMAILER 익히기: 이메일 전송을 위한 자동 회신 기능을 구현하는 방법은 무엇입니까? PHP와 PHPMAILER 익히기: 이메일 전송을 위한 자동 회신 기능을 구현하는 방법은 무엇입니까? Jul 22, 2023 am 11:57 AM

PHP와 PHPMAILER 익히기: 이메일 전송을 위한 자동 회신 기능을 구현하는 방법은 무엇입니까?

See all articles