質問編集履歴

5

修正

2020/09/24 02:48

投稿

entaro12345
entaro12345

スコア75

test CHANGED
File without changes
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
 
62
62
 
63
- 何かおの情報をいただけると幸いです。
63
+ 何かお知りの情報をいただけると幸いです。
64
64
 
65
65
 
66
66
 

4

本文修正

2020/09/24 02:48

投稿

entaro12345
entaro12345

スコア75

test CHANGED
File without changes
test CHANGED
@@ -28,15 +28,13 @@
28
28
 
29
29
  2020.09.24 追記
30
30
 
31
- postfixが動作することは確認できましたが、メールの送信とPDO接続でエラーが出てしまいました。
31
+ postfixが動作することは確認できましたが、PDO接続でエラーが出てしまいました。
32
-
33
- メール送信:「Connection timed out」
34
32
 
35
33
  PDO接続:「Server sent charset unknown to the client. Please, report to the developers」
36
34
 
37
35
 
38
36
 
39
- PDO接続については、ググってみて「/etc/my.cnf」へ追記してみましたが、NG
37
+ ググってみて「/etc/my.cnf」へ追記してみましたが、NGでした。
40
38
 
41
39
  ```mycnf
42
40
 
@@ -62,6 +60,10 @@
62
60
 
63
61
 
64
62
 
63
+ 何かお尻の情報をいただけると幸いです。
64
+
65
+
66
+
65
67
  ### 該当のソースコード
66
68
 
67
69
 

3

本文修正

2020/09/24 01:04

投稿

entaro12345
entaro12345

スコア75

test CHANGED
File without changes
test CHANGED
@@ -112,11 +112,115 @@
112
112
 
113
113
  [do.phpファイル]
114
114
 
115
-
116
-
117
115
  <?php
118
116
 
117
+ // 受信メール解析用
118
+
119
+ require_once('Mail/mimeDecode.php');
120
+
121
+ // 文字化け対策
122
+
123
+ mb_language("Japanese");
124
+
125
+ mb_internal_encoding("UTF-8");
126
+
127
+
128
+
129
+ $params['include_bodies'] = true;
130
+
131
+ $params['decode_bodies'] = true;
132
+
133
+ $params['decode_headers'] = true;
134
+
135
+ $params['input'] = file_get_contents('php://stdin');
136
+
137
+
138
+
139
+ $structure = Mail_mimeDecode::decode($params);
140
+
141
+
142
+
143
+ // 送信者メールアドレス取得
144
+
145
+ $from = $structure->headers['from'];
146
+
147
+ $subject = $structure->headers['subject'];
148
+
149
+
150
+
151
+ // DB情報セット
152
+
153
+ $dsn = 'mysql:dbname=DB名;host=ホスト名'; // mysqlを使用
154
+
155
+ $pass = 'XXXXX'; // パスワード
156
+
157
+ $user = 'XXXXX'; // ユーザー名
158
+
159
+ $now = now();
160
+
161
+ try {
162
+
163
+ $dbh = new PDO($dsn, $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
164
+
165
+
166
+
167
+ // 受信メール情報をデータベースに登録
168
+
169
+ $sql = 'insert into receive_mail '.
170
+
171
+ '( '.
172
+
173
+ ' mail_address '.
174
+
175
+ ' , received_date '.
176
+
177
+ ') values ( '.
178
+
179
+ ' :ad '.
180
+
181
+ ' , :dt '.
182
+
183
+ ') ';
184
+
185
+ // PDOStatementクラスのインスタンス生成
186
+
187
+ $prepare = $dbh->prepare($sql);
188
+
189
+ $prepare->bindValue(':ad' , $from , PDO::PARAM_STR);
190
+
191
+ $prepare->bindValue(':dt' , $now , PDO::PARAM_STR);
192
+
193
+
194
+
195
+ // プリペアードステートメント実行
196
+
197
+ $prepare->execute();
198
+
199
+ } catch (PDOException $e) {
200
+
201
+ $msg = $e->getMessage();
202
+
203
+ // ログ出力
204
+
119
- file_put_contents('error.txt', 'testtesttest', FILE_APPEND | LOCK_EX);
205
+ file_put_contents('/tmp/error.txt', $msg, FILE_APPEND | LOCK_EX);
206
+
207
+ exit;
208
+
209
+ }
210
+
211
+
212
+
213
+ $to = $from;
214
+
215
+ $sub = "受信完了";
216
+
217
+ $msg = "※本メールは配信専用となっておりますので、返信はできません。";
218
+
219
+ $head = "From: register@test.jp"."\r\n";
220
+
221
+
222
+
223
+ mb_send_mail($to, $sub, $msg, $head);
120
224
 
121
225
  ?>
122
226
 

2

追記

2020/09/24 00:52

投稿

entaro12345
entaro12345

スコア75

test CHANGED
File without changes
test CHANGED
@@ -23,6 +23,42 @@
23
23
  postfixの設定が完了し、メールを送信してみたところ、下記のエラーが出ていました。
24
24
 
25
25
  「temporary failure. Command output:local:fatal:execvp usr/bin/php: No such file or directory」
26
+
27
+
28
+
29
+ 2020.09.24 追記
30
+
31
+ postfixが動作することは確認できましたが、メールの送信とPDO接続でエラーが出てしまいました。
32
+
33
+ メール送信:「Connection timed out」
34
+
35
+ PDO接続:「Server sent charset unknown to the client. Please, report to the developers」
36
+
37
+
38
+
39
+ PDO接続については、ググってみて「/etc/my.cnf」へ追記してみましたが、NG
40
+
41
+ ```mycnf
42
+
43
+ [client]
44
+
45
+ default-character-ser=utf8
46
+
47
+
48
+
49
+ [mysql]
50
+
51
+ default-character-set=utf8
52
+
53
+
54
+
55
+ [mysqld]
56
+
57
+ collation-server=utf8_general_ci
58
+
59
+ character-set-server=utf8
60
+
61
+ ```
26
62
 
27
63
 
28
64
 

1

追記

2020/09/24 00:47

投稿

entaro12345
entaro12345

スコア75

test CHANGED
File without changes
test CHANGED
@@ -15,6 +15,14 @@
15
15
 
16
16
 
17
17
  メールの送信先は、「infos@ドメイン名」になります。
18
+
19
+
20
+
21
+ 2020.09.23 追記
22
+
23
+ postfixの設定が完了し、メールを送信してみたところ、下記のエラーが出ていました。
24
+
25
+ 「temporary failure. Command output:local:fatal:execvp usr/bin/php: No such file or directory」
18
26
 
19
27
 
20
28