Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
メールテンプレートどうしてますか?
Search
KOYAMA Tetsuji
September 29, 2014
Programming
1
270
メールテンプレートどうしてますか?
PHPで作成されたサービスでメールを送信する際に、テンプレートをどう使いますかという話。
KOYAMA Tetsuji
September 29, 2014
Tweet
Share
More Decks by KOYAMA Tetsuji
See All by KOYAMA Tetsuji
PIE (PHP Installer for Extensions) をみんなで試そう/piseka-pie
koyhoge
0
100
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
950
全日本PHPカンファレンス2024スタンプラリーについて/stamprally-php2024
koyhoge
0
180
日本PHPカンファレンス2024スタンプラリーとその実装/phpcon-stamprally
koyhoge
1
1.9k
日本のPHPカンファレンスの歩みと、その辺もろもろ/phpcon_japan_history
koyhoge
0
310
Inside SWOOLE: 非同期処理はどのようにして動くのか/inside_swoole
koyhoge
0
19k
映画を年300本観る技術/watch_300_movies_in_a_year
koyhoge
0
1.3k
Swooleで実装するPHP非同期処理の世界/phpcondo2019-swoole
koyhoge
3
5.6k
CloudFormation と FaaS のはざま - Kubernetes の設計思想を探る -/cf-faas-k8s
koyhoge
0
1.5k
Other Decks in Programming
See All in Programming
CSC307 Lecture 10
javiergs
PRO
1
660
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
220
CSC307 Lecture 09
javiergs
PRO
1
840
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
280
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
AI & Enginnering
codelynx
0
120
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
230
AtCoder Conference 2025
shindannin
0
1.1k
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
380
Building AI with AI
inesmontani
PRO
1
700
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
Faster Mobile Websites
deanohume
310
31k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
Crafting Experiences
bethany
1
50
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
ϝʔϧςϯϓϨʔτ Ͳ͏ͯ͠·͔͢ খࢁࢤ !LPZIPHF ୈճ1)1ษڧձ౦ژ http://joind.in/12013
BCPVU͍͜΄͛ ‣খࢁࢤ ͜·ͯͭ͡ ‣ϑϦʔϥϯεϓϩάϥϚʔ ‣5XJUUFS!LPZIPHF ‣GBDFCPPLIUUQGBDFCPPLDPNLPZIPHF ‣ೱ͍ώήLPZIJHF ڊ΄͛LZPIPHFͱΑؒ͘ ҧ͑ΒΕΔ
ϝʔϧૹ৴ ‣αʔϏε͔ΒϢʔβʹϝʔϧΛૹΔͷ·͊ී௨ ‣ొ֬ೝ ‣֤छ௨ ‣ཧऀͷϨϙʔτϝʔϧ ‣࣍ɾि࣍ɾ݄࣍ ‣Ξϥʔτ
ϝʔϧຊจੜ ‣มల։͍ͨ͠ ‣ςϯϓϨʔτΤϯδϯ͏ ‣ςϯϓϨʔτϑΝΠϧ %# ‣4VCKFDUผʹ࣋ͭ ‣ϝʔϧૹ৴ϥΠϒϥϦຊจͱϝʔϧϔομ ผѻ͍ͷ߹͕ଟ͍
'SPNͱΤϯϕϩʔϓGSPN ‣'SPNϔομӦۀతͳཧ༝Ͱมߋ͞ΕΔ ‣ςϯϓϨʔτతʹॲཧ͍ͨ͠ ‣ΤϯϕϩʔϓGSPNΤϥʔͷ߹ͷฦૹΞυϨ ε ‣γεςϜݻఆͰߏΘͳ͍
͜ΜͳํͲ͏͔ ‣ϝʔϧςϯϓϨʔτ ‣ςϯϓϨʔτΤϯδϯͷػೳͰׂࣗ͝༝ʹ ‣ϝʔϧϔομॻ͜͏ͱࢥ͑ॻ͚Δ ‣4VCKFDU ‣'SPN ‣3FQMZUP
From: {{ mail_from }} Subject: ご登録ありがとうございます。 ! {{ username }}様
! このたびは、ほげサービスにご登録ありがとうござ います。 以下のURLをクリックして最終登録作業をして下さ い。 ! {{ confirm_url }} ! 今後ともほげサービスをよろしくお願いします。 ςϯϓϨʔτྫ
From: “ほげサービスサポート” <
[email protected]
> Subject: ご登録ありがとうございます。 ! ぺちぱ太郎様 ! このたびは、ほげサービスにご登録ありがとうござ います。
以下のURLをクリックして最終登録作業をして下さ い。 ! http://hoge.example.com/confirm/DqoGkxQi2fN ! 今後ともほげサービスをよろしくお願いします。 มల։ޙ
// まず空行をチェック $headend = strpos($message, "\n\n"); if ($headend === false)
{ // 空行がなければいきなり本文 $this->headers = array(); $this->body = $message; return; } ࠷ॳͷۭߦ·Ͱϔομ
$head = substr($message, 0, $headend); $body = substr($message, $headend +
2); ! $checkempty = trim($body); if (empty($checkempty)) { // やはりヘッダなし $this->headers = array(); $this->body = $message; return; } ϔομͱຊจΛ͚Δ
$heads = explode("\n", $head); ! $headers = array(); foreach ($heads
as $header) { // divide by ':' list($h, $v) = explode(':', $header, 2); $h = strtolower(trim($h)); $v = trim($v); $headers[$h] = $v; } ! $this->headers = $headers; $this->body = $body; ֤ϔομʹׂ
͓·͚ ‣ςϯϓϨʔτΤϯδϯ͑ͳ͍Ҋ݅ ‣1)1ͦͦςϯϓϨʔτΤϯδϯͩͱ͍͏ ͜ͱΛΕͯͳ͍͔ʂ ‣FWBM͢ΕΠΠδϟφʔΠX
From: ${mail_from} Subject: ご登録ありがとうございます。 ! ${username}様 ! このたびは、ほげサービスにご登録ありがとうござ います。 以下のURLをクリックして最終登録作業をして下さ
い。 ! ${confirm_url} ! 今後ともほげサービスをよろしくお願いします。 ςϯϓϨʔτྫ
function render($template, $params) { extract($params); ! $code = 'return "'
. addslashes($template) . '";'; $result = eval($code); return $result; } ؆қςϯϓϨʔτΤϯδϯ
֎෦͔ΒͷೖྗΛ QBSBNTʹೖΕΔࡍʹ ҙ͢Δ͜ͱʂX
͓͠·͍