質問するログイン新規登録

回答編集履歴

5

加筆修正

2018/05/08 04:17

投稿

退会済みユーザー
answer CHANGED
@@ -47,4 +47,8 @@
47
47
 
48
48
 
49
49
  ?>
50
- ```
50
+ ```
51
+
52
+ あと、メール送信するサーバーの仕様として、メール送信頻度を監視している可能性と、
53
+ DKIMやSPFを考慮した送信の仕組みかどうか、という要素もあるので、
54
+ それらは別途調べた上で改めて質問に起こすと良いでしょう。

4

見直し

2018/05/08 04:17

投稿

退会済みユーザー
answer CHANGED
@@ -1,8 +1,50 @@
1
+ 実際に動かしてみた。
1
- 「php メル送信 携帯」
2
+ 元のソスだと本文がUTF-8なのに
2
- 「php メル送信 件名 文字化け」でネット検索すると事例がいっぱいあるのでご参考にしてください
3
+ ヘッダでISO-2022-JP指定してあるから文字化けして
3
4
 
5
+ それと、特定のメーラーで件名が文字化けしないように、
6
+ 対策を追加してある。
7
+
8
+ ```php
9
+ <?php
10
+
11
+ mb_language('ja');
12
+ mb_internal_encoding("UTF-8");
13
+
14
+ // 本文
15
+ $message = '
16
+ <html>
17
+ <head>
18
+ <title>お知らせ一覧</title>
19
+ </head>
20
+ <body>
21
+ <p>各位<br>
22
+ 事務局です、一斉送信にてメールをお送りしています。</p>
23
+ <p>研修サイトのお知らせが更新されました。<br>
24
+ 事務局からの大切なお知らせですので確認してください。</p>
25
+ <p><a href="https://" title="お知らせ一覧">お知らせ一覧</a></p>
26
+ </body>
27
+ </html>
28
+ ';
29
+
30
+ $message = wordwrap($message, 70, "\r\n");
31
+ $message = mb_convert_encoding($message, "JIS");
32
+
33
+ //headerを設定
34
+ $headers[] = 'MIME-Version: 1.0';
35
+ $headers[] = 'Content-Type: text/html; charset="ISO-2022-JP"';
36
+
37
+ // 追加のヘッダ
38
+ $from = mb_encode_mimeheader("送信者名","iso-2022-jp")." <info@example.com>";
39
+ $headers[] .= "From: ".$from." \r\n";
40
+
41
+ // 表題
42
+ $subject = 'お知らせ更新';
43
+ $subject = "=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($subject,"JIS","UTF-8"))."?=";
44
+
45
+ // 送信する
46
+ mail($to, $subject, $message, implode("\r\n", $headers));
47
+
48
+
49
+ ?>
4
- ```
50
+ ```
5
- //件名を設定(JISに変換したあと、base64エンコードをしてiso-2022-jpを指定する)
6
- $subject = "=?iso-2022-jp?B?".base64_encode(mb_convert_encoding("メールの件名です","JIS","UTF-8"))."?=";
7
- ```
8
- [[PHP]件名も!送信者も!本文も!mail関数で文字化けしないMailHeader設定 | briccolog|渋谷区神宮前のウェブ制作会社ブリコルール](https://www.bricoleur.co.jp/blog/archives/3480)

3

加筆修正

2018/05/08 03:12

投稿

退会済みユーザー
answer CHANGED
@@ -1,2 +1,8 @@
1
1
  「php メール送信 携帯」
2
- 「php メール送信 件名 文字化け」でネット検索すると事例がいっぱいあるのでご参考にしてください。
2
+ 「php メール送信 件名 文字化け」でネット検索すると事例がいっぱいあるのでご参考にしてください。
3
+
4
+ ```
5
+ //件名を設定(JISに変換したあと、base64エンコードをしてiso-2022-jpを指定する)
6
+ $subject = "=?iso-2022-jp?B?".base64_encode(mb_convert_encoding("メールの件名です","JIS","UTF-8"))."?=";
7
+ ```
8
+ [[PHP]件名も!送信者も!本文も!mail関数で文字化けしないMailHeader設定 | briccolog|渋谷区神宮前のウェブ制作会社ブリコルール](https://www.bricoleur.co.jp/blog/archives/3480)

2

加筆修正

2018/05/08 00:53

投稿

退会済みユーザー
answer CHANGED
@@ -1,1 +1,2 @@
1
+ 「php メール送信 携帯」
1
- 「php メール送信 携帯」でネット検索すると事例がいっぱいあるのでご参考にしてください。
2
+ 「php メール送信 件名 文字化け」でネット検索すると事例がいっぱいあるのでご参考にしてください。

1

見直し

2018/05/08 00:50

投稿

退会済みユーザー
answer CHANGED
@@ -1,2 +1,1 @@
1
- ガラケーの人を相手にHTMLメールを、しかもUTF-8で送るの?
2
1
  「php メール送信 携帯」でネット検索すると事例がいっぱいあるのでご参考にしてください。