さて先日メールを送信するクラスを作成しましたが、使い回しとかしないので一回だけでいい、とかいうのでしたらもっと簡単に記述することが出来ます。
以下をコピペしてユーザIDとパスワードを入れるだけ。
簡単ですね。
以下をコピペしてユーザIDとパスワードを入れるだけ。
簡単ですね。
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
|
//Pear::Mail
require_once('Pear/Mail/Mail.php');
//パラメータ
$params= array(
'host' => 'tls://smtp.gmail.com',
'port' => 465,
'auth' => true,
'debug' => false,
'username' =>'名前',
'password' =>'パスワード'
);
$headers = array(
'To'=>'宛先',
'From'=>'送信元',
'Subject'=>'件名'
);
$mailto='宛先';
$body = '本文';
//エンコード
$tmp=mb_internal_encoding();
mb_internal_encoding('UTF-8');
$headers['Subject']
=mb_encode_mimeheader($subject,'ISO-2022-JP');
$body=mb_convert_encoding
($body,'ISO-2022-JP', mb_detect_encoding($body));
mb_internal_encoding($tmp);
//送信
$smtp=Mail::factory('smtp', $this->params);
$smtp->send($this->mailto, $this->headers, $this->body);
|
UTF-8以外だと文字化けするので、その場合はmb_internal_encodingをファイルの文字コードに合わせてください。
まあ直接書いた方が手っ取り早いというのはクラス全般に言えることですが、そのぶんクラスは一回書いたらコピペいらずでincludeするだけで使い回せるというのがポイントです。
しかしCAのサーバ証明書とかインストールした覚えがないのだが、これはきちんと動いているのだろうか。
よくわからない。
PR
トラックバック
トラックバックURL: