ホームページ >バックエンド開発 >PHPチュートリアル >phpでWebメールを送信する形式を解決する方法(サーバーはUNIX)
phpでWebメールを送信するためのフォーマット(サーバーはUnixです)
サーバーはUnixなので、メール機能を使ってメールを送信することができます。今やりたいのは、中国人タレントのような顧客にフォーマット付きの履歴書を送信することです。 ~~ ~
-----解決策---------------------------- -
どうしたのですか、そのメッセージの情報は動的ですか? これはとても簡単です。
ここに PHP フォーム変数 (ユーザーが入力したフォーム データ) を挿入するだけですよね?
------解決策---------
phpmail クラスの例を見てください
------解決策---------
メールのヘッダー情報を設定しますcontent-type
Content-Type: text/html; charset="独自のエンコーディング"
はmailの第4パラメータから設定されます。
lz ドキュメントを参照してください。例があります。
http://jp.php.net/manual/en/function.mail.php
------解決策---------
class smtp
{
/* パブリック変数 */
var $smtp_port;
var $host_name;
var $relay_host;デバッグ;
var $auth;
var $user;
var $pass; /* プライベート変数 */
/* コントラクター
function smtp($relay_host = "", $smtp_port = 25,$auth = false,$user,$pass)
{
$this->debug = FALSE;
$this- > smtp_port = $smtp_port;
$this->relay_host = $relay_host;
$this->time_out = 30; // fsockopen() で使用されます
$this->auth = $ auth;//auth
$this->user = $user;
#
$this->host_name = "localhost"; HELO コマンド内
$this->log_file = "error.txt";
$this->sock =
}
/* メイン関数 */
関数 sendmail ($to, $from, $subject, $body, $mailtype, $cc = "", $bcc = "", $Additional_headers = "")
{
$mail_from = $this->get_address ( $this->strip_comment($from));
$body = ereg_replace("(^|(rn))(.)", "1.3", $body);
$header= "MIME バージョン:1.0rn";
if($mailtype=="HTML")
{
$header .= "Content-Type:text/html;charset=utf-8rn";
//$header .= "コンテンツ転送エンコーディング:base64nn";
}
$header .= "To: ".$to."rn"; != "")
{
$header .= "Cc: ".$cc."rn";
}
$header .= "From: $from
rn";
$header .= "件名: ".$subject."rn";
$header .= $Additional_headers;
$header .= "日付: ".date("r" ) ."rn";
$header .= "X-Mailer:By Redhat (PHP/".phpversion().")rn";
list($msec, $sec) =explode(" " , microtime());
$TO =explode(",", $this->strip_comment($to));
if ($cc != "") {
$TO = array_merge($TO,explode(",", $this->strip_comment($cc)));
}
if ($bcc != "")
{
$TO = array_merge($TO,explode(",", $this->strip_comment($bcc)));
}
$this->Headers = $header; $sent = TRUE;
foreach ($TO as $rcpt_to)
{
$rcpt_to = $this->get_address($rcpt_to)
if (!$this-> smtp_sockopen ($rcpt_to))
{
$this->log_write("エラー: ".$rcpt_to."n にメールを送信できません");
$sent = FALSE; > }
if ($this->smtp_send($this->host_name, $mail_from, $rcpt_to, $header, $body))