{"id":3331,"date":"2013-10-11T13:01:55","date_gmt":"2013-10-11T04:01:55","guid":{"rendered":"http:\/\/www.techscore.com\/blog\/?p=3331"},"modified":"2018-11-14T16:33:53","modified_gmt":"2018-11-14T07:33:53","slug":"rails%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aa%e7%b4%b9%e4%bb%8b-mail_to-%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e3%82%92%e3%82%a8%e3%82%b9%e3%82%b1%e3%83%bc","status":"publish","type":"post","link":"https:\/\/www.techscore.com\/blog\/2013\/10\/11\/rails%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aa%e7%b4%b9%e4%bb%8b-mail_to-%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e3%82%92%e3%82%a8%e3%82%b9%e3%82%b1%e3%83%bc\/","title":{"rendered":"Rails\u30e9\u30a4\u30d6\u30e9\u30ea\u7d39\u4ecb: mail_to \u3067\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u3059\u308b\u300cactionview-encoded_mail_to\u300d"},"content":{"rendered":"

\u3053\u3093\u306b\u3061\u306f\u3001\u9234\u6728\u3067\u3059\u3002<\/p>\n

 <\/p>\n

actionview-encoded_mail_to (https:\/\/github.com\/reed\/actionview-encoded_mail_to<\/a>) \u306e\u7d39\u4ecb\u3067\u3059\u3002<\/p>\n

 <\/p>\n

\u30e1\u30fc\u30eb\u30ea\u30f3\u30af\u3092\u4f5c\u308a\u305f\u3044<\/h2>\n

Rails4 \u3067\u3053\u3093\u306a\u611f\u3058\u306e\u304a\u554f\u3044\u5408\u308f\u305b\u7528\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306e\u30ea\u30f3\u30af\u3092\u4f5c\u308b\u3068\u304d\u306e\u8a71\u3067\u3059\u3002<\/p>\n

<a href=\"mailto:support@example.com\">\u304a\u554f\u3044\u5408\u308f\u305b\u306f\u3053\u3061\u3089\uff01<\/a><\/pre>\n

Rails \u3067\u30e1\u30fc\u30eb\u30ea\u30f3\u30af\u3092\u4f5c\u308b\u65b9\u6cd5\u306f\u3069\u3046\u3059\u308b\u306e\u304b\u3068\u3044\u3044\u307e\u3059\u3068\u3001\u3001\u3001<\/p>\n

\u300cmail_to \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u3048\u3070\u826f\u3044\u3093\u3067\u3057\u3087\uff1f\u300d<\/p>\n

\u6b63\u89e3\u3067\u3059\uff01<\/p>\n

\u300c\u30b9\u30d1\u30e0\u696d\u8005\u306b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u53ce\u96c6\u3055\u308c\u306b\u304f\u3044\u3088\u3046\u306b\u30a8\u30f3\u30b3\u30fc\u30c9\u3059\u308b\u3088\u306d\u3002\u300d<\/p>\n

\u89aa\u5207\u3067\u3059\uff01<\/p>\n

 <\/p>\n

\u30a8\u30f3\u30b3\u30fc\u30c9\u3059\u308b\u3068\u306f\uff1f<\/h2>\n

\u30b9\u30d1\u30e0\u696d\u8005\u306b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u53ce\u96c6\u3055\u308c\u306b\u304f\u304f\u3059\u308b\u305f\u3081\u306b\u306f\u3001HTML \u4e2d\u306b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u305d\u306e\u307e\u307e\u66f8\u304b\u306a\u3044\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<\/p>\n

\u3064\u307e\u308a\u30d9\u30bf\u3063\u3068\u66f8\u304b\u305a\u306b\u3001<\/p>\n

<a href=\"mailto:support@example.com\">\u304a\u554f\u3044\u5408\u308f\u305b\u306f\u3053\u3061\u3089\uff01<\/a><\/pre>\n

\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u90e8\u5206\u3092\u6570\u5024\u53c2\u7167\u306b\u7f6e\u304d\u63db\u3048\u308b\u3001<\/p>\n

<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%73%75%70%70%6f%72%74@%65%78%61%6d%70%6c%65.%63%6f%6d\">\u304a\u554f\u3044\u5408\u308f\u305b\u306f\u3053\u3061\u3089\uff01<\/a><\/pre>\n

\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n

\u3053\u3046\u3059\u308b\u3053\u3068\u3067\u3001\u300c\u624b\u5f53\u305f\u308a\u6b21\u7b2c\u306b Web \u30da\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9 \u2192 \u6b63\u898f\u8868\u73fe\u3067\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u62bd\u51fa \u2192 \u30b9\u30d1\u30e0\u3092\u9001\u308b\u300d\u3068\u3044\u3046\u30b9\u30d1\u30e0\u306e\u5bfe\u7b56\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n

\u3053\u306e\u65b9\u6cd5\u306f\u5b8c\u5168\u3068\u3044\u3046\u308f\u3051\u3067\u306f\u306a\u304f\u3001\u300c\u624b\u5f53\u305f\u308a\u6b21\u7b2c\u306b Web \u30da\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9 \u2192 \u6570\u5024\u53c2\u7167\u3092\u30c7\u30b3\u30fc\u30c9\u3059\u308b \u2192 \u6b63\u898f\u8868\u73fe\u3067\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u62bd\u51fa \u2192 \u30b9\u30d1\u30e0\u3092\u9001\u308b\u300d\u3068\u3055\u308c\u308b\u3068\u9632\u3052\u306a\u3044\u3067\u3059\u3002<\/p>\n

\u305d\u308c\u306a\u3089\u3053\u306e\u3088\u3046\u306b Javascript \u3067\u66f8\u304d\u51fa\u3057\u3066\u307f\u3066\u306f\u3069\u3046\u3067\u3057\u3087\u3046\uff1f<\/p>\n

<script id=\"mail_to-bnlega38\">eval(decodeURIComponent('%76%61%72%20%73%63%72%69%70%74%20%3d%20%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%27%6d%61%69%6c%5f%74%6f%2d%62%6e%6c%65%67%61%33%38%27%29%3b%76%61%72%20%61%20%3d%20%64%6f%63%75%6d%65%6e%74%2e%63%72%65%61%74%65%45%6c%65%6d%65%6e%74%28%27%61%27%29%3b%61%2e%73%65%74%41%74%74%72%69%62%75%74%65%28%27%68%72%65%66%27%2c%20%27%6d%61%69%6c%74%6f%3a%73%75%70%70%6f%72%74%40%65%78%61%6d%70%6c%65%2e%63%6f%6d%27%29%3b%61%2e%61%70%70%65%6e%64%43%68%69%6c%64%28%64%6f%63%75%6d%65%6e%74%2e%63%72%65%61%74%65%54%65%78%74%4e%6f%64%65%28%27%e3%81%8a%e5%95%8f%e3%81%84%e5%90%88%e3%82%8f%e3%81%9b%e3%81%af%e3%81%93%e3%81%a1%e3%82%89%ef%bc%81%27%29%29%3b%73%63%72%69%70%74%2e%70%61%72%65%6e%74%4e%6f%64%65%2e%69%6e%73%65%72%74%42%65%66%6f%72%65%28%61%2c%73%63%72%69%70%74%29%3b'))<\/script><\/pre>\n

\u9632\u5fa1\u529b\u306f\u4e0a\u304c\u3063\u305f\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n

\u3069\u3061\u3089\u306e\u65b9\u6cd5\u3092\u3068\u308b\u3079\u304d\u304b\u306f\u8981\u4ef6\uff08Javascript \u306e\u4f7f\u3048\u306a\u3044\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u304b\u3068\u304b\uff09\u306b\u3088\u3063\u3066\u5909\u308f\u308a\u307e\u3059\u304c\u3001\u3068\u308a\u3042\u3048\u305a\u3053\u308c\u3092\u624b\u3067\u66f8\u304f\u306e\u306f\u9762\u5012\u3067\u3059\u306d\u3002<\/p>\n

 <\/p>\n

mail_to \u3067\u30a8\u30f3\u30b3\u30fc\u30c9\u3059\u308b<\/h2>\n

Rails \u3067\u306f mail_to \u306e encode \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u4e0a\u8a18\u306e\u3088\u3046\u306a\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n

# \u6570\u5024\u53c2\u7167\u306b\u7f6e\u304d\u63db\u3048\u308b.\r\nmail_to 'support@example.com', '\u304a\u554f\u3044\u5408\u308f\u305b\u306f\u3053\u3061\u3089\uff01', encode: 'hex'\r\n# => <a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%73%75%70%70%6f%72%74@%65%78%61%6d%70%6c%65.%63%6f%6d\">\u304a\u554f\u3044\u5408\u308f\u305b\u306f\u3053\u3061\u3089\uff01<\/a>\r\n\r\n# Javascript \u3067\u66f8\u304d\u51fa\u3059.\r\nmail_to 'support@example.com', '\u304a\u554f\u3044\u5408\u308f\u305b\u306f\u3053\u3061\u3089\uff01', encode: 'javascript'\r\n# <script id=\"mail_to-bnlega38\">eval(decodeURIComponent('%76%61%72%20%73%63%72%69%70%74%20%3d%20%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%27%6d%61%69%6c%5f%74%6f%2d%62%6e%6c%65%67%61%33%38%27%29%3b%76%61%72%20%61%20%3d%20%64%6f%63%75%6d%65%6e%74%2e%63%72%65%61%74%65%45%6c%65%6d%65%6e%74%28%27%61%27%29%3b%61%2e%73%65%74%41%74%74%72%69%62%75%74%65%28%27%68%72%65%66%27%2c%20%27%6d%61%69%6c%74%6f%3a%73%75%70%70%6f%72%74%40%65%78%61%6d%70%6c%65%2e%63%6f%6d%27%29%3b%61%2e%61%70%70%65%6e%64%43%68%69%6c%64%28%64%6f%63%75%6d%65%6e%74%2e%63%72%65%61%74%65%54%65%78%74%4e%6f%64%65%28%27%e3%81%8a%e5%95%8f%e3%81%84%e5%90%88%e3%82%8f%e3%81%9b%e3%81%af%e3%81%93%e3%81%a1%e3%82%89%ef%bc%81%27%29%29%3b%73%63%72%69%70%74%2e%70%61%72%65%6e%74%4e%6f%64%65%2e%69%6e%73%65%72%74%42%65%66%6f%72%65%28%61%2c%73%63%72%69%70%74%29%3b'))<\/script><\/pre>\n

\u3053\u306e encode \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u304c\u3001Rails3 \u3067\u306f\u30b3\u30a2\u6a5f\u80fd\u3067\u3057\u305f\u3002<\/p>\n

Rails4 \u3067\u306f actionview-encoded_mail_to \u3068\u3044\u3046\u5916\u90e8\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u5207\u308a\u51fa\u3055\u308c\u305f\u306e\u3067\u3001Gemfile \u306b\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n