ホームページ バックエンド開発 PHPチュートリアル 汇总PHPmailer群发Gmail的常见问题_PHP

汇总PHPmailer群发Gmail的常见问题_PHP

May 27, 2016 am 10:35 AM
gmail phpmailer 一括送信

大家在PHPmailer群发Gmail时会遇到许多常见问题,下面为大家总结了一些常见问题,希望对大家的学习有所帮助。

1.Could not authenticate

首先,如果你没有使用循环的话,基本上就是账号或者密码错了;

如果使用循环来群发,send()方法结束之后记得调用Smtpclose(),发一次关一次,否则就会出现只能发一封邮件,第二次就崩溃的情况。

2.Gmail

首先,开启php的ssl权限

php开启openssl的方法,大多数情况下openssl是没有开启的,要想启用需要进行下简单的设置:

windows下开启方法:

1: 首先检查php.ini中;extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘;', 如果不存在这行,那么添加extension=php_openssl.dll。

2: 讲php文件夹下的: php_openssl.dll, ssleay32.dll, libeay32.dll 3个文件拷贝到 WINDOWS\system32\  文件夹下。

3: 重启apache或者iis

至此,openssl功能就开启了。

Linux下开启方法:

我使用的是锦尚数据的云主机,PHP版本:5.2.14

下面方案就以我的主机为例讲解为PHP添加openssl模块支持。

网上一些答案说要重新编译PHP,添加configure参数,增加openssl的支持。这里讲一个不需要重新编译的方法。

如果服务器上存在PHP安装包文件最好,如果已经删除,去下载和phpinfo页面显示版本一样的PHP安装文件,我这里是 php-5.2.14.tar.gz

推荐去搜狐镜像下载,网易镜像没有找到。地址为: http://mirrors.sohu.com/php/

用ssh工具连接到主机。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

# 下载到/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加密的

Step1. php openssl module(extension) support
Step2. download phpmailer library
Step3. change code 'class.phpmailer.php' and 'class.smtp.php'

1.phpmailer和smtp里加property Is_SSL

1

public $Is_SSL = false;

ログイン後にコピー

2.phpmailer里的SmtpConnect方法里传递给smtp对象

1

$this->smtp-> Is_SSL = $this-> Is_SSL ;

ログイン後にコピー

3.smtp里的Connect方法在fsockopen调用前加上

1

if($this->is_ssl){ $host = 'ssl://'.$host; }

ログイン後にコピー

最后是使用方法,记得调用phpmailer类哦,代码里没有。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

$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邮件实例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

<html>

<head>

<title>PHPMailer - SMTP (Gmail) basic test</title>

</head>

<body>

<&#63;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!";

}

&#63;>

</body>

</html>

ログイン後にコピー

以上就是本文的全部内容,希望对大家的学习有所帮助。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Gmailでテキストまたは画像にハイパーリンクを追加する方法 Gmailでテキストまたは画像にハイパーリンクを追加する方法 May 06, 2023 pm 06:07 PM

インスタント メッセージング アプリがどれだけ生まれては消えても、電子メールには常にまったく異なる感触があります。メール送信はまさに Gmail と同義です。プロフェッショナルなフロント デスクは言うまでもなく、Gmail は避けられない、まさに避けられないものです。 Gmail は非常に頻繁に使用されるため、Gmail エクスペリエンスを最もスムーズかつ効率的にする方法を知っておく必要があります。多くの場合、電子メールの本文に多くの Web リンクを追加する必要がありますが、リンクが多すぎると明らかに扱いにくくなります。しかし、リンクが長いとメールが見苦しくなってしまうとしても、リンクは間違いなく必要です。それで、抜け出す方法はあるのでしょうか?ハイパーリンクについてはどうでしょうか?テキストまたは画像内のリンクを非表示にするにはどうすればよいですか?クールですね?そうそう、Gmail は

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 では、画面の右上隅にある三点アイコンをクリックします。ドロップダウン メニューから [その他のツール] を選択します。次のドロップダウン メニューから [拡張機能] をクリックします。 [拡張機能] 画面で、

WeChat で全員にグループ メッセージを送信する方法 - WeChat グループ メッセージのチュートリアル WeChat で全員にグループ メッセージを送信する方法 - WeChat グループ メッセージのチュートリアル Mar 18, 2024 am 10:58 AM

WeChat で全員にグループ メッセージを送信することは、情報を迅速に届けることができる非常に便利な機能です。 (グループを作成せずに) 複数の友人に同じコンテンツを送信する必要がある場合は、「グループ アシスタント」を使用して各友人にグループ メッセージを送信できます。以下のエディターで一括送信方法を詳しく紹介しますので、見てみましょう! 1. WeChat を開き、[グループ送信アシスタント] 機能を検索します。 2. まず WeChat 一括送信アシスタントを有効にして、[一括送信の開始] をクリックします。 3. [新しい一括送信] をクリックして、受信者の選択ページに入ります。 4. [受信者の選択] ページで、すべてを手動でチェックするか選択することで、メッセージを送信するすべての連絡先を選択できます。 5. 連絡先を選択した後、「次へ」ボタンをクリックしてメッセージ編集インターフェイスに入ります。 6. メッセージ編集インターフェイスでは、次のことができます。

PHPMailer を使用して複数の人に電子メールを送信するための PHP の方法と手順 PHPMailer を使用して複数の人に電子メールを送信するための PHP の方法と手順 May 22, 2023 pm 06:10 PM

Web アプリケーションでは、多くの場合、一度に複数の受信者に電子メールを送信する必要があります。 PHP は非常に人気のある Web 開発言語であり、PHPMailer は電子メールを送信するための一般的な PHP クラス ライブラリです。 PHPMailer は豊富なインターフェイスを提供し、PHP アプリケーションでの電子メール送信をより便利で使いやすくします。この記事では、PHPMailerを使って複数の宛先にメールを送信する方法と手順を紹介します。 PHPMailer をダウンロードするには、まず公式 Web サイト (

PHP 開発の実践: PHPMailer を使用して MySQL データベース内のユーザーに電子メールを送信する PHP 開発の実践: PHPMailer を使用して MySQL データベース内のユーザーに電子メールを送信する Aug 05, 2023 pm 06:21 PM

PHP 開発の実践: PHPMailer を使用して MySQL データベース内のユーザーに電子メールを送信する はじめに: 現代のインターネットの構築において、電子メールは重要なコミュニケーション ツールです。 ECにおけるユーザー登録やパスワードのリセット、注文確認など、メール送信は欠かせない機能です。この記事では、PHPMailer を使用してメールを送信し、メール情報を MySQL データベースのユーザー情報テーブルに保存する方法を紹介します。 1. PHPMailer ライブラリをインストールする PHPMailer は

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 を使用するユーザーを対象としていることに注意してください。もう 1 つのオプションは、iPhone/iPad で Gmail アプリを使用することです。あなたさえ

Gmail でオートコンプリートメールアドレスを削除する方法 Gmail でオートコンプリートメールアドレスを削除する方法 Apr 21, 2023 am 10:46 AM

Gmail は、Google が提供する最も人気のある Web ベースの電子メール サーバーであり、電子メールの閲覧、編集、送信に役立つ多くの強力な機能が備わっています。そのような機能の 1 つがオートコンプリート リストです。これにより、ユーザーは完全なアドレスの入力を完了する前に、連絡先として保存された電子メール アドレスのリストを表示できます。この機能は非常に便利ですが、一部の電子メール アドレスが無効になったり、ユーザーによって削除されたりする可能性があるため、場合によっては良いアプローチではない場合があります。たとえば、組織を退職した人は会社の電子メール アドレスにアクセスできなくなります。ただし、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 電子メール送信ライブラリです

See all articles