php を使用して添付ファイル付きメールを送信する - (PHPMailer を使用した例の分析)_PHP チュートリアル
/*PHPMailer は、メールを送信するための PHP 関数パッケージです。提供する機能は次のとおりです:
*. 電子メール送信時に複数の受信者、CC アドレス、BCC アドレス、返信アドレスを指定します
*. 8 ビット、base64、バイナリ、引用符付き印刷可能などの複数の電子メール エンコーディングをサポートします
*. SMTP 認証をサポートします
* .冗長 SMTP サーバーをサポート
*.添付ファイル付きの電子メールと Html 形式の電子メールをサポート
*.電子メール ヘッダーをカスタマイズ
*.電子メールへの画像の埋め込みをサポート
*.柔軟なデバッグ
* テスト済みの互換性のある SMTP サーバーには、Sendmail、qmail、 Postfix、Imail、Exchange など
*. どのプラットフォームでも実行可能
phpMailer は、送信メールアドレスと返信アドレス、メールの件名、リッチテキストコンテンツ、添付ファイルのアップロードなどを設定できる非常に強力な php メールクラスです。
公式ウェブサイト: http://phpmailer.worxware.com/
ダウンロードアドレス: http://code.google.com/a/apache-extras. org/p/phpmailer/downloads/list
*/
require_once(' include/PHPMailer/class.phpmailer.php'); //PHPMAILER クラスをインポートします
$mail = new PHPMailer(); //インスタンスを作成します
$mail - >文字セット
$mail -> SetLanguage('ch','include/PHPMailer/ language/') //言語の種類と言語ファイルが置かれているディレクトリを設定します。 /SMTP を使用して送信します
$mail -> //サーバーが SMTP 認証を必要とするかどうかを設定します
$mail -> //SMTP ホスト アドレス
$mail -> /SMTP ホスト ポート
$mail -> //送信者の EMAIL アドレス
$mail -> //送信者は SMTP ホストのユーザー名
$mail -> ; //送信者の名前
$mail -> //SMTP ホストの送信者のパスワード
$mail -> //メールの件名
$mail -> AltBody = 'text/html'; //メール本文がHTMLに対応していない場合のバックアップ表示を設定します
$mail -> Body = 'テストメールの内容 ';//メール本文を作成します
$mail - > IsHTML(true); // HTML メールです
$mail -> 相手のアドレスと名前を受け取ります
$mail -> ('chinajason2008#gmail.com','jasonxu') //受信者が返信するときに返信するアドレスと名前
$mail ->AddAttachment('include/ id.csv','att.csv'); /添付ファイルのパスと名前
if(!$mail -> Send()) //メールを送信
var_dump($mail -> ErrorInfo) // 送信されたエラーメッセージを確認してください
例 $mail -> AddAttachment('include/id.csv','att');//添付ファイルのパスと名前
上記のように添付ファイルを追加して送信すると、最終的に受信する添付ファイルはatt.txt であること。
AddAttachment では、添付ファイルのエンコード方法と添付ファイルの種類を設定できます。たとえば、上記の添付ファイルの追加を
$mail ->AddAttachment('include/id.csv','att.csv',"binary", "text/comma - Separated-values");// 添付ファイルのパスと名前、
添付ファイルにはおそらくいくつかのエンコード方法があります: 8 ビット、base64、バイナリ、および quote-printable エンコードがサポートされています
MIME タイプCSV可
・application/octet-stream
・text/カンマ区切り値(推奨)
・text/csv
つまり、csv形式ファイルの添付ファイルの種類は上記3つのいずれかになります
簡単に適用できるように短縮バージョンにコンパイルされた、前のプロジェクトでの電子メール送信の例:
$body=$_smtp_body;
$mail=new PHPMailer();//PHPMailer インスタンスを取得します
//$mail->SMTPSecure='tls';
$mail->CharSet="utf-8" ; //エンコーディングを設定します
$mail->IsSMTP();//メール送信のSMTPメソッドを設定します
$mail->Host=$_smtp_server;//SMTPメールサーバーのアドレスを設定します
$mail- >Port= $_smtp_port;//メールサーバーのポートを設定します、デフォルトは25です
$mail->From=$_smtp_from_mail; //送信者のメールアドレスを設定します
$mail->FromName=$_smtp_from_name; //送信設定 相手の名前
$mail->Username=$_smtp_username;
$mail->Password=$_smtp_password;
$mail->AddAddress("$email","");//設定受信アドレス (パラメータ 1) と名前 (パラメータ 2)
$mail->SMTPAuth=true;//SMTP 認証を有効にする
$mail->Subject=$_smtp_subject;//メールのタイトルを設定します
// $mail->AltBody ="text/html";
$mail->Body=$body;//メールの内容
$mail->IsHTML(true);//内容がHTML形式かどうかを設定します
/ /$mail->WordWrap =50; // それぞれの文字数を設定しますline
//$mail->AddReplyTo("samzhang@tencent.com","samzhang"); $mail->Send()){//メールを送信
exit 'ok';
}else{
exit 'fail';
}
初めて PHPMailer を使用したとき、説明できない問題が発生したことをおそらく覚えています。そして私はオンラインで情報を探すのに多くの時間を費やし、最終的にそれらを解決しました。現時点ではサーバーPHP環境ではfsockopen関数を無効にできないとメールが送信できないと記憶していますが、解決策はあります。つまり、使い始めはいつも苦労するのですが、久しぶりなので具体的に何が変わったのかはよくわかりません。したがって、今後の利用の便宜と、この問題で困っている友人の便宜のために、現在使用している PHPMailer ディレクトリ ファイルをパッケージ化して CSDN にアップロードしてください。 PHPMailerのダウンロード: http://xiazai.jb51.net/201304/yuanma/PHPMailer_jb51net.rar
1. SMTPに接続できませんでした。ホスト
理由 1 : メール システムに必要な SMTP リクエストは異なりますが、すべて大文字が許可されます。NetEase や Tencent メールボックスなど、一部は小文字をサポートしません。 (実際にそうなるかどうかは試していませんが、いずれにせよ大文字に変更しても影響はありません)
解決策:
}
// メーラーを選択して送信しますswitch($this->Mailer) {
case 'sendmail':
return $this->SendmailSend($header, $body);
case 'SMTP':/ /同様に、smtp ->SMTP; を変更します。つまり、元々は小文字でしたが、現在は大文字になります。
return $this->SmtpSend($header, $body);
case 'mail':
デフォルト:
return $this->MailSend($header, $body);
}
2. : SMTP ホストに接続できませんでした
解決策:
fsockopen関数を有効にする
まず、php.ini 内の以下の 2 つのセミコロンを削除します
;拡張子=php_sockets.dll
;拡張子=php_openssl.dll
fsockopen 関数を置き換えます
class.smtp.php ファイル内の fsockopen 関数を pfsockopen 関数に置き換えることができます
3. メール関数をインスタンス化できませんでした理由:
設定されたパラメータが間違っています。Gmail を使用して基本的なテストを行ったので、他のパラメータを再度設定する必要があります。
解決策:
$mail->SMTPSecure = ‘tls’ //この文を追加するだけです
注: 私はこの種のエラーに遭遇したことがないため、上記の例ではこのコンテンツにコメントを追加しました。この種のエラーが発生した場合は、この文を試してみてください。
http://www.bkjia.com/PHPjc/326777.html

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
