メッセージ欄
2008年9月の日記
▼ 2008/09/30(火) 2008-09-30
Qdmaiのダウンロードページはこちら
- 2008-09-30
- 1.1.5b
mimeEncodeの最初の1行につき、75文字制限を守ることができるよう、第4引数追加
sendmail送信で、bccにメールが送信されないバグ修正。sendBySendmailメソッドの修正($recipient指定)
mimeEncode()メソッドにて、終端文字¥0、単独CRを削除するpregを挿入(qmailエラー対策)
▼ コメント(0件)
▼ その他のフレームワーク対応
Qdmailを利用して、フレームワークからメールを送信する場合、もっとも問題になるのが、メール本文のデータを、フレームワークから、Qdmailへどうやって渡すか、ということです。
通常のMVC分離型のフレームワークの場合、コントローラーからビューの内容を簡単に取得できるのであれば、それをQdmailに
実際に、ZendFrameWork,CodeIgniter,Ethnaは、ビューの出力内容を簡単にコントローラーで取り出せるので、あまり深く考えずに対応することができます。
したがって、未知のフレームワークでも、ビュー出力の内容の取り出し方さえわかれば、特段の問題はありません。
一方でSymfony,CakePHPのように、ビューの出力内容を取り出せない場合は、Qdmail本体に描画機能を持たせる必要があり、若干面倒です。
そのようなフレームワークについては今後、ご要望があれば(&時間があれば)、対応してきたいと思います。
通常のMVC分離型のフレームワークの場合、コントローラーからビューの内容を簡単に取得できるのであれば、それをQdmailに
$mail -> text( ビューの内容 );として渡してやれば、それで終了です。
実際に、ZendFrameWork,CodeIgniter,Ethnaは、ビューの出力内容を簡単にコントローラーで取り出せるので、あまり深く考えずに対応することができます。
したがって、未知のフレームワークでも、ビュー出力の内容の取り出し方さえわかれば、特段の問題はありません。
一方でSymfony,CakePHPのように、ビューの出力内容を取り出せない場合は、Qdmail本体に描画機能を持たせる必要があり、若干面倒です。
そのようなフレームワークについては今後、ご要望があれば(&時間があれば)、対応してきたいと思います。
▼ 2008/09/27(土) 2008-09-26
Qdmaiのダウンロードページはこちら
- 2008-09-27
- 1.1.4b
mb_detect_encodingの第3引数にtrue(strict)を指定するようにした。
mimeEncodeMax()メソッドの追加
debug モード時に、X-QdmailDebugヘッダーをつけるようにした。
▼ ZendFrameWorkで日本語完璧メール
ZendFrameWorkには、Zend_Mailというライブラリがありますが、日本語の処理に難点があるようです。
Qdmailでは、以下のようにします。
ZendFrameWorkのフォルダにqdmail.phpを入れても良し、他のインクルードディレクトリにいれてもよしです。
Zend_Mailより、マルチバイト対応をしっかりしている(はず)ですので、日本語の題名などのヘッダーも文字化けは少ないと思います。
おまけにZend_Mailでは、デコメを送信するのは至難の業ですが、Qdmailは簡単に各キャリアに送信できます。
Qdmailでは、以下のようにします。
ZendFrameWorkのフォルダにqdmail.phpを入れても良し、他のインクルードディレクトリにいれてもよしです。
$mail = new Qdmail(); $mail -> text( 'ここに内容をいれます' ); $mail -> from( 'from@example.com' , '配信元日本語名' ); $mail -> to( 'address@example.com' , '宛先日本語名' ); $mail -> subject( 'タイトルも日本語で' ); $mail ->send();もし、ビューの内容を送信したいのであれば、
$mail ->send( $this->render() );でOKです。
Zend_Mailより、マルチバイト対応をしっかりしている(はず)ですので、日本語の題名などのヘッダーも文字化けは少ないと思います。
おまけにZend_Mailでは、デコメを送信するのは至難の業ですが、Qdmailは簡単に各キャリアに送信できます。
-
▼
デコメール(HTMLメール)対応のメール送信ライブラリ『Qdmail』
携帯サイトをつくろう。今回はデコメールに対応したメール送信のライブラリ『Qdmail』を紹介したいと思います。 最近ブラウザの仕様は3キャリアで大分と共通化されてきましたが、デコメール(HTMLメール)に関...
▼ Ethnaで日本語メール送信
■EthnaでQdmailを使用する
EthnaでQdmailを使用すれば、テキストメール、HTMLメールはもちろん、デコメも簡単に送信できます。サンプルコード(アクション)
qd_send_mail型
class Mailtest_Action_Index extends Mailtest_ActionClass
{
function perform()
{
include_once('qdmail.php');
$regist_user='田中';
$ethna_mail =& new Ethna_MailSender($this->backend);
$content = $ethna_mail->send(null,
'testmail.tpl',
array('username' => $regist_user));
qd_send_mail('html',
'address@mail456.com',
'えすなテスト',
$content,
'from@exaple.com',
null
);
return;
}
}
OOP型
include_once('qdmail.php');
$regist_user='田中';
$ethna_mail =& new Ethna_MailSender($this->backend);
$content = $ethna_mail->send(null,
'testmail.tpl',
array('username' => $regist_user));
$mail -> html($content);
$mail -> to( 'address@example,com' );
$mail -> from( 'from@example,com' );
$mail -> subject( 'えすなテスト' );
return;
要は$contentにメールの内容を入れてしまえば、後は普通のQdmailの使い方と同じです。テンプレートの例示
template/ja/mail/mailtest.tpl
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp" />
<link rel="stylesheet" href="{$config.url}css/ethna.css" type="text/css" />
</head>
<body>
<div id="header">
<h1>Mailtest</h1>
</div>
<div id="main">
<h2>メールテスト</h2>
<p>こんにちは、{$username}さん</p>
</div>
<div id="footer">
Powered By <a href="http://ethna.jp">Ethna</a>-{$smarty.const.ETHNA_VERSION}.
</div>
</body>
</html>