かつてPear::Mailを使用してGmailからメール送信というのを行いましたが、日本産ではないのでヘッダの日本語対応等少々面倒なところがあります。
世の中は広いもので、Pear要らずの日本語メール送信スクリプトを公開してくれている人がいます。
Qdsmtp 0.2.0a
http://hal456.net/qdsmtp/
準備は、qdsmtp.phpを適当なフォルダに置くだけです。
とりあえず普通にメール送信してみます。
decomail.class.php
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
|
//require
require_once('qdsmtp.php');
class Decomail{
//送信メールの初期値
protected $param = array(
'host'=>'tls://smtp.gmail.com'
,'port'=> 465
,'protocol'=>'SMTP_AUTH'
,'user'=>''
,'pass' => ''
,'from'=>''
);
//Qdsmtp
protected $smtp='';
//コンストラクタ
public function __construct($user,$pass,$from){
//引数セット
$this->param['user']=$user;
$this->param['pass']=$pass;
$this->param['from']=$from;
//Qdsmtp
$this->smtp = & new QdSmtp($this->param);
$this->smtp->continueConnect(true);
}
//送信
public function send($mailto,$subject,$body){
//送信
return $this->smtp -> mail(
$mailto
,$subject
,$body
);
}
#クラスのおわり
}
|
使用は普通にnewしてsendするだけ。
decomail.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//初期設定
$user='ユーザ名';
$pass='パスワード';
$from='送信元メアド';
//インクルード
require_once('decomail.class.php');
$smtp=new Decomail($user,$pass,$from);
//送信
$mailto='送信先メアド';
$subject='件名';
$body='本文';
$ret=$smtp->send($mailto,$subject,$body);
|
Googleからあっさり送信できました。
あとは引数のチェックルーチンなんかを入れると完成です。
一見Pear::Mail版とほとんど変わりませんが、こちらはqdsmtp.phpを一本置いただけです。
Pearをインストールできない環境などでは重宝するでしょう。
また、ヘルプでは日本語が使用できないと書いてありますが、環境によっては通るみたいです。
http://hal456.net/qdsmtp/mail
とりあえず私の手元では何の問題もなく日本語メールが送信できました。何でしょう?
PR
トラックバック
トラックバックURL: