ホームページ バックエンド開発 PHPチュートリアル PHPMailer が中国語名の添付ファイルを送信する

PHPMailer が中国語名の添付ファイルを送信する

Aug 08, 2016 am 09:28 AM
mail phpmailer smtp

再投稿する場合は、この記事が skypupil のブログからのものであることを明記してください (http://blog.csdn.net/u011956441/article/details/44161587)。他の人の努力の結果を尊重してください。ありがとうございます。 !

私のアプリケーションシナリオは次のとおりです。Web ページで、ユーザーが電子メールアドレスを入力して [メールの送信] ボタンをクリックすると、sendMail.php を呼び出して添付ファイル付きの電子メールをユーザーに送信します。

発生した問題は、添付ファイルの名前が英語の場合は正しく送信できますが、添付ファイルの名前が中国語の場合、ユーザーのメールボックスは添付ファイルを受信できません。これが私の解決策です: まずsendMail.phpコードに移動します:

<?php

header(&#39;Content-Type:text/html; charset=utf-8&#39;);

/*调用该php的页面通过$.ajax的POST方法传递过来的参数*/
$toEmailAddress=$_POST[&#39;toEmailAddress&#39;];
/*PHPMailer引用文件,版本号;5.2.9*/
require_once(&#39;PHPUtils/PHPMailer/class.phpmailer.php&#39;);
require_once(&#39;PHPUtils/PHPMailer/class.smtp.php&#39;);
/*新建PHPMailer实例*/
$mail = new PHPMailer();
//$mail->SMTPDebug = 4; // 设置调试信息显示级别
$mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置为 UTF-8
$mail->isSMTP(); // 设定使用SMTP服务
$mail->SMTPAuth = true; // 启用 SMTP 验证功能
$mail->SMTPSecure = 'ssl'; // SMTP 安全协议
$mail->Host = 'smtp.gmail.com'; // SMTP 服务器
$mail->Port = 465; // SMTP服务器的端口号
$mail->Username = 'yours@gmail.com'; // SMTP服务器用户名(你的邮箱账号名)
$mail->Password = 'password'; // SMTP服务器密码(你的邮箱登陆密码)
$mail->setFrom('yours@gmail.com', 'yourName'); // 设置发件人地址和名称
$mail->addReplyTo('yours@gmail.com', 'yourName'); // 设置邮件回复人地址和名称
$mail->Subject = '标题'; // 设置邮件标题
$mail->AltBody = '为了查看该邮件,请切换到支持 HTML 的邮件客户端'; // 可选项,向下兼容考虑
$mail->msgHTML('你好,这是来自gmail的邮件'); // 设置邮件内容
$mail->addAddress($toEmailAddress); // 收件人地址
//$mail->addAttachment('pdfs/测试.pdf'); // 添加附件 文件路径,发送附件失败
$mail->addAttachment(iconv('utf-8', 'gb2312', 'pdfs/测试.pdf'), '测试.pdf'); // 添加附件 参数1为文件路径,参数2为文件名(邮件附件的名称,可以与实际发送的本地文件名不同)
if (!$mail->send()) {
    echo "发送失败:" . $mail->ErrorInfo;
} else {
    echo "恭喜,邮件发送成功!";
}

?>
ログイン後にコピー

上記のコードの問題を解決する鍵はを使用することです"$mail- >AddAttachment(iconv('utf-8', 'gb2312', 'pdfs/test.pdf'), 'test.pdf');" この行。

まず 2 つのメソッドを見てみましょう:

addAttachment -- メソッド

From: PHPMailer::addAttachment()

File: class.phpmailer.php。

説明: 添付ファイルを追加します

パラメータ: パス、名前、エンコーディング、タイプのうち、パスは必須です、その他はオプションです

関数プロトタイプ: addAttachment($パス,$名前 = '', $ Encoding = 'Base64', $ Type = 'Application/Octet-Stream') {} From: PHP (>= 4.0.5)

関数プロトタイプ: string iconv ( string $in_charset 、string $

out_charset 、string $str )

説明: 文字列 str を in_charset から変換します エンコーディングを out_charset に変換します。

上記の 2 つの方法を理解すると、PHPMailer が中国語名の添付ファイルを送信できない理由は、PHPMailer が utf-8 でエンコードされた中国語のファイル パスを正しく読み取れないためであることが理解できるでしょう。ファイルパスをgb2312エンコードに変換すると、正しく送信できるようになります。 最後に、SMTPサーバーのポート番号アドレスを添付します: http://blog.wpjam.com/m/gmail-qmail-163mail-imap-smtp-pop3/

上記では、PHPMailer が中国語名の添付ファイルを送信する方法と、関連する内容を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

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

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

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

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

PHPとPHPMAILERを使いこなす:メール送信の自動返信機能を実装するには? PHPとPHPMAILERを使いこなす:メール送信の自動返信機能を実装するには? Jul 22, 2023 am 11:57 AM

PHPとPHPMAILERを使いこなす:メール送信の自動返信機能を実装するには?現代社会では、電子メールは人々が毎日コミュニケーションをとるための重要な方法の 1 つになっています。多くの Web サイトや企業は電子メールを介してユーザーと通信する必要があり、電子メールへの自動返信が非常に重要になっています。この記事では、PHPとPHPMailerライブラリを使ってメール送信の自動返信機能を実装する方法を紹介します。ステップ 1: ユーザーの電子メール情報を取得する まず、ユーザーの電子メール情報を取得する必要があります。 Web サイトまたはアプリケーションで使用します。

PHP と PHPMAILER を使用して画像が埋め込まれた HTML メールを送信するにはどうすればよいですか? PHP と PHPMAILER を使用して画像が埋め込まれた HTML メールを送信するにはどうすればよいですか? Jul 22, 2023 am 11:29 AM

PHP と PHPMAILER を使用して画像が埋め込まれた HTML メールを送信するにはどうすればよいですか? HTML 電子メールは、電子メールに画像、リンク、スタイルを挿入できる、より充実したパーソナライズされた電子メール形式です。埋め込み画像とは、画像を添付ファイルとして送信するのではなく、HTML メールの電子メールの一部として直接送信することを指します。 PHP では、PHPMAILER を使用して、画像が埋め込まれた HTML 電子メールを送信できます。 PHPMAILER は強力な PHP 電子メール送信ライブラリです

PHP と PHPMAILER: 電子メール送信用のスパム対策機能を実装するにはどうすればよいですか? PHP と PHPMAILER: 電子メール送信用のスパム対策機能を実装するにはどうすればよいですか? Jul 22, 2023 am 11:46 AM

PHP と PHPMAILER: 電子メール送信用のスパム対策機能を実装するにはどうすればよいですか?はじめに: インターネット時代において、電子メールは私たちの日常生活や仕事に欠かせないものになりました。しかし、電子メールの普及と利用に伴い、スパム問題はますます深刻化し、ユーザーに多大な迷惑を与えています。この問題を解決するために、この記事では、PHP と PHPMailer ライブラリを使用して、メール送信のスパム対策機能を実装する方法を紹介します。 1. スパムを理解する スパムとは、一方的に送信されるスパムを指します。

PHPMailerライブラリを使用してPHPで添付メールを送信する方法と注意点 PHPMailerライブラリを使用してPHPで添付メールを送信する方法と注意点 May 21, 2023 pm 06:12 PM

PHPMailer ライブラリを使用して PHP で添付メールを送信する方法と注意点. 電子メールは現代生活において非常に重要なコミュニケーション手段となっています。多くの開発プロジェクトでは、コードを使用して電子メールを自動的に送信する必要がありますが、現時点では PHPMailer ライブラリが最適な選択です。 PHPMailer は、PHP での電子メール送信専用のライブラリです。 HTML形式のメールや添付ファイルを含むメールを簡単に送信できます。この記事では、PHPMailer ライブラリで添付ファイル付きの電子メールを送信する方法に焦点を当てます。

CakePHP で PHPMailer を使用するにはどうすればよいですか? CakePHP で PHPMailer を使用するにはどうすればよいですか? Jun 04, 2023 pm 01:10 PM

CakePHP は、MVC モデルに基づく PHP オープン ソース フレームワークで、開発者に効率的でスケーラブルで保守が容易な Web アプリケーション開発環境を提供するように設計されています。その中でも、メール機能は常に Web アプリケーションの重要なコンポーネントの 1 つです。開発者がメール機能を使いやすくするために、PHPMailer クラス ライブラリが CakePHP にカプセル化されています。 PHPMailer は、HTML 電子メール、添付ファイル、カーボン コピー、メール キュー、SMTP 検証の送信などの機能をサポートする、一般的に使用される電子メール送信ライブラリです。本

PHP と PHPMAILER を使用して HTML 形式のメールを送信するにはどうすればよいですか? PHP と PHPMAILER を使用して HTML 形式のメールを送信するにはどうすればよいですか? Jul 22, 2023 am 10:14 AM

PHP と PHPMailer を使用して HTML 形式のメールを送信するにはどうすればよいですか?インターネットの発展に伴い、電子メールは人々の日常のコミュニケーションに重要なツールになりました。 Web サイトやアプリケーションを開発する場合、多くの場合、PHP および PHPMailer を使用して電子メールを送信する必要があります。この記事では、PHP と PHPMailer を使用して HTML 形式で電子メールを送信する方法と、対応するコード例を紹介します。ステップ 1: 準備 始める前に、PHP と PHHPMaile がインストールされていることを確認する必要があります。

See all articles