質問編集履歴
7
微調整
title
CHANGED
File without changes
|
body
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
他にも調べたキーワードはありますが、出てくる結果は送信の処理について書かれたものが多かった気がします。
|
31
31
|
|
32
|
-
自分でも実装してみた処理を書きます。
|
32
|
+
自分でも既に実装してみた処理を書きます。
|
33
33
|
|
34
34
|
```php
|
35
35
|
// メールサーバ接続
|
@@ -50,6 +50,7 @@
|
|
50
50
|
// content-type:text/plainのところはテキストパート。content-type:text/htmlのところはhtmlパート。
|
51
51
|
```
|
52
52
|
|
53
|
+
テキストメールの場合は、上の処理で満足しているのですが、マルチパートの場合の実装をしていてキツくなってきました。
|
53
54
|
Content-Typeヘッダの値がmultipart/alternativeの場合は、バウンダリー文字を取得して、その文字でbodyを割って、パートごとのContent-typeと文字コードとエンコーディングと本文を取得して...
|
54
55
|
挫折しました。
|
55
56
|
|
6
探している理由を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -50,5 +50,7 @@
|
|
50
50
|
// content-type:text/plainのところはテキストパート。content-type:text/htmlのところはhtmlパート。
|
51
51
|
```
|
52
52
|
|
53
|
-
Content-Typeヘッダの値がmultipart/alternativeの場合は、バウンダリー文字を取得して、その文字でbodyを割って...
|
53
|
+
Content-Typeヘッダの値がmultipart/alternativeの場合は、バウンダリー文字を取得して、その文字でbodyを割って、パートごとのContent-typeと文字コードとエンコーディングと本文を取得して...
|
54
|
-
挫折しました。
|
54
|
+
挫折しました。
|
55
|
+
|
56
|
+
それでライブラリを探しています。
|
5
コードを修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -41,6 +41,7 @@
|
|
41
41
|
$head = imap_header($mbox, $i);
|
42
42
|
imap_mime_header_decode($head->from[0]->personal); // 文字コードとエンコードされた文字列が分かるのでmb_convert_encoding
|
43
43
|
// 件名の取得
|
44
|
+
$subject = $head->subject;
|
44
45
|
imap_mime_header_decode($subject); // 文字コードとエンコードされた文字列が分かるのでmb_convert_encoding
|
45
46
|
// 本文の取得
|
46
47
|
$body = imap_body($mbox, $i, FT_INTERNAL);
|
4
自分で書いたコードを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -27,4 +27,27 @@
|
|
27
27
|
- php imap ライブラリ
|
28
28
|
-- これだとPHPのimapモジュールのインストール方法が出てきました。
|
29
29
|
|
30
|
-
他にも調べたキーワードはありますが、出てくる結果は送信の処理について書かれたものが多かった気がします。
|
30
|
+
他にも調べたキーワードはありますが、出てくる結果は送信の処理について書かれたものが多かった気がします。
|
31
|
+
|
32
|
+
自分でも実装してみた処理を書きます。
|
33
|
+
|
34
|
+
```php
|
35
|
+
// メールサーバ接続
|
36
|
+
$mbox = imap_open("{pop.XXXX.jp/pop3}INBOX", "XXXX", "XXXX");
|
37
|
+
// 未読件数の確認
|
38
|
+
$mboxes = imap_mailboxmsginfo($mbox);
|
39
|
+
$mail_cnt = $mboxes->Unread;
|
40
|
+
// 宛先の取得
|
41
|
+
$head = imap_header($mbox, $i);
|
42
|
+
imap_mime_header_decode($head->from[0]->personal); // 文字コードとエンコードされた文字列が分かるのでmb_convert_encoding
|
43
|
+
// 件名の取得
|
44
|
+
imap_mime_header_decode($subject); // 文字コードとエンコードされた文字列が分かるのでmb_convert_encoding
|
45
|
+
// 本文の取得
|
46
|
+
$body = imap_body($mbox, $i, FT_INTERNAL);
|
47
|
+
// テキストだと本文そのもの。HTMLや添付ファイルがあるとマルチパートなのは理解できてる。
|
48
|
+
// パートはバウンダリーで区切られていて
|
49
|
+
// content-type:text/plainのところはテキストパート。content-type:text/htmlのところはhtmlパート。
|
50
|
+
```
|
51
|
+
|
52
|
+
Content-Typeヘッダの値がmultipart/alternativeの場合は、バウンダリー文字を取得して、その文字でbodyを割って...
|
53
|
+
挫折しました。
|
3
末尾を変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -27,4 +27,4 @@
|
|
27
27
|
- php imap ライブラリ
|
28
28
|
-- これだとPHPのimapモジュールのインストール方法が出てきました。
|
29
29
|
|
30
|
-
他にも調べたキーワードはありますが、出てくる結果は送信の処理についてが多かった気がします。
|
30
|
+
他にも調べたキーワードはありますが、出てくる結果は送信の処理について書かれたものが多かった気がします。
|
2
文章を修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
-- HTMLメール本文の設定
|
15
15
|
-- ファイルの添付
|
16
16
|
|
17
|
+
もしご存知でしたら教えていただだけないでしょうか。
|
17
18
|
よろしくお願いします。
|
18
19
|
|
19
20
|
9/26) 追記
|
1
調べたキーワードを追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,4 +14,16 @@
|
|
14
14
|
-- HTMLメール本文の設定
|
15
15
|
-- ファイルの添付
|
16
16
|
|
17
|
-
よろしくお願いします。
|
17
|
+
よろしくお願いします。
|
18
|
+
|
19
|
+
9/26) 追記
|
20
|
+
調べたキーワード
|
21
|
+
- PHP メール ライブラリ
|
22
|
+
--PHPMailerというライブラリが出てきましたが、Class Featuresを見ると送信専用だと思われます。
|
23
|
+
--genkgo/mail: Library to send e-mails over different transports and protocols using immutable messages and streamsをいうライブラリに書かれたQuiitaの記事も見つけましたが、こちらも送信専用のように書かれていました。
|
24
|
+
- PHP メール 送信 "受信" ライブラリ
|
25
|
+
-- こちらのキーワードでも送信のライブラリが出てきました。
|
26
|
+
- php imap ライブラリ
|
27
|
+
-- これだとPHPのimapモジュールのインストール方法が出てきました。
|
28
|
+
|
29
|
+
他にも調べたキーワードはありますが、出てくる結果は送信の処理についてが多かった気がします。
|