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
250
メールテンプレートどうしてますか?
PHPで作成されたサービスでメールを送信する際に、テンプレートをどう使いますかという話。
KOYAMA Tetsuji
September 29, 2014
Tweet
Share
More Decks by KOYAMA Tetsuji
See All by KOYAMA Tetsuji
全日本PHPカンファレンス2024スタンプラリーについて/stamprally-php2024
koyhoge
0
120
日本PHPカンファレンス2024スタンプラリーとその実装/phpcon-stamprally
koyhoge
1
1k
日本のPHPカンファレンスの歩みと、その辺もろもろ/phpcon_japan_history
koyhoge
0
240
Inside SWOOLE: 非同期処理はどのようにして動くのか/inside_swoole
koyhoge
0
18k
映画を年300本観る技術/watch_300_movies_in_a_year
koyhoge
0
1.1k
Swooleで実装するPHP非同期処理の世界/phpcondo2019-swoole
koyhoge
3
5.1k
CloudFormation と FaaS のはざま - Kubernetes の設計思想を探る -/cf-faas-k8s
koyhoge
0
1.4k
ITイベントマニアから見る技術イベントの動向/techevent
koyhoge
0
300
Skaffoldを使ってKubernetes してみた/skaffold_k8s
koyhoge
2
1.2k
Other Decks in Programming
See All in Programming
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
距離関数を極める! / SESSIONS 2024
gam0022
0
280
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.9k
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
120
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
CSC509 Lecture 09
javiergs
PRO
0
140
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
580
Featured
See All Featured
Building an army of robots
kneath
302
43k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Producing Creativity
orderedlist
PRO
341
39k
Automating Front-end Workflow
addyosmani
1366
200k
Six Lessons from altMBA
skipperchong
27
3.5k
Done Done
chrislema
181
16k
Speed Design
sergeychernyshev
24
610
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
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
͓͠·͍