質問編集履歴

10

修正

2015/12/22 07:29

投稿

kentros511
kentros511

スコア122

test CHANGED
File without changes
test CHANGED
@@ -8,15 +8,9 @@
8
8
 
9
9
  ###発生している問題・エラーメッセージ
10
10
 
11
- 登録する場合のエラーの出し方がわからない
12
-
13
- 登録されていい場合は
11
+ 半角らどんなメアドも送れ
14
-
15
- javamailでMessagingExceptionしてるのにどんなメアドでも遅れてしまう
12
+
16
-
17
- MailDAMONが届く前に判断したい
13
+
18
-
19
- ###ソースコード
20
14
 
21
15
 
22
16
 

9

修正

2015/12/22 07:28

投稿

kentros511
kentros511

スコア122

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,8 @@
1
1
  ###前提・実現したいこと
2
2
 
3
- SendFailedExceptionを使っ
3
+ SendMailクラスでcatchしたSendFailedException ACTIONに戻し
4
-
5
- 登録する場合の
4
+
6
-
7
- 入力されたメールアドレスに対してメール送信が失敗した場合のエラー
5
+ action Message("送信エラー")を表示させたい
8
6
 
9
7
 
10
8
 

8

修正

2015/12/22 06:40

投稿

kentros511
kentros511

スコア122

test CHANGED
File without changes
test CHANGED
@@ -176,7 +176,7 @@
176
176
 
177
177
  /*ここの中がわからない
178
178
 
179
- メッセージ ”送信しました"を表示
179
+ メッセージ ”送信エラー"を表示
180
180
 
181
181
  他はすべて送信*/
182
182
 

7

修正

2015/12/22 06:36

投稿

kentros511
kentros511

スコア122

test CHANGED
File without changes
test CHANGED
@@ -174,11 +174,11 @@
174
174
 
175
175
  } catch (SendFailedException e) {
176
176
 
177
- /*ここの中がわからない*/
177
+ /*ここの中がわからない
178
178
 
179
179
  メッセージ ”送信しました"を表示
180
180
 
181
- 他はすべて送信
181
+ 他はすべて送信*/
182
182
 
183
183
  }catch(MessagingException e){/*すべての例外*/
184
184
 

6

質問の的を絞りました

2015/12/22 06:17

投稿

kentros511
kentros511

スコア122

test CHANGED
File without changes
test CHANGED
@@ -20,214 +20,190 @@
20
20
 
21
21
  ###ソースコード
22
22
 
23
- ```java
24
-
25
-
26
-
27
- String address = frm.getAddress();
28
-
29
- String diagno = db.seldb(address);/*登録者かどうか検索*/
30
-
31
-
32
-
33
- /*ール送信*/
34
-
35
- SendMail sm = new SendMail(address, pwd);
36
-
37
- int TS = sm.doMail();
38
-
39
- if(TS == 0) {/*失敗*/
40
-
41
- return mapping.findForward("miss");
42
-
43
-
44
-
45
- }/*成功*/
46
-
47
- System.out.println(TS);
48
-
49
- return mapping.findForward("issue");
50
-
51
-
23
+
24
+
25
+
26
+
27
+ ```メール送信
28
+
29
+ ```SEndMail.java
30
+
31
+ public class SendMail {
32
+
33
+ /*フィール*/
34
+
35
+ private String address;
36
+
37
+ private String pwd;
38
+
39
+
40
+
41
+ public SendMail(String address, String pwd) {/*コンストラクタ*/
42
+
43
+ this.address = address;
44
+
45
+ this.pwd = pwd;
46
+
47
+ }
48
+
49
+ public int doMail(){
50
+
51
+ /*メール送信*/
52
+
53
+
54
+
55
+
56
+
57
+ try{/*start*/
58
+
59
+ //property
60
+
61
+ Properties prop = new Properties();
62
+
63
+ /*接続環境指定*/
64
+
65
+
66
+
67
+ prop.put("mail.smtp.auth", "true");//認証
68
+
69
+ prop.setProperty("mail.smtp.host", "smtp.kagoya.net");//ホストサーバー設定
70
+
71
+ prop.setProperty("mail.smtp.port", "25");//ポート番号指定587でも可
72
+
73
+
74
+
75
+ /*コンソール*/
76
+
77
+ //サーバとの会話内容を出力してくれる!
78
+
79
+ prop.setProperty("mail.debug", "true");
80
+
81
+
82
+
83
+ //パスワードを保持するクラスを作る必要がある?
84
+
85
+ class PasswordAuthenticatior extends Authenticator{
86
+
87
+ private String username;
88
+
89
+ private String password;
90
+
91
+
92
+
93
+ PasswordAuthenticatior(String username, String password) {
94
+
95
+ this.username = username;
96
+
97
+ this.password = password;
98
+
99
+ }
100
+
101
+
102
+
103
+ @Override
104
+
105
+ public PasswordAuthentication getPasswordAuthentication() {
106
+
107
+ return new PasswordAuthentication(username, password);
108
+
109
+ }
110
+
111
+ }
112
+
113
+
114
+
115
+ //パスワード認証つきのセッションを作成
116
+
117
+ Session session = Session.getDefaultInstance(
118
+
119
+ prop,
120
+
121
+ new PasswordAuthenticatior("infinitys.chinuki","infinitys")
122
+
123
+ );
124
+
125
+
126
+
127
+
128
+
129
+ //送信メッセージ
130
+
131
+ MimeMessage mimeMessage1 = new MimeMessage(session);
132
+
133
+
134
+
135
+
136
+
137
+ //ToAddressのセット
138
+
139
+ mimeMessage1.setRecipient(Message.RecipientType.TO, new InternetAddress(this.address));
140
+
141
+
142
+
143
+ //FRomAdressnoセット
144
+
145
+ mimeMessage1.setFrom(new InternetAddress("chinuki@infinitys.co.jp"));
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+ new String("Subject");
154
+
155
+ mimeMessage1.setSubject("パスワード発行","iso-2022-jp");/*件名*/
156
+
157
+ new String ("Text");
158
+
159
+ mimeMessage1.setText("あなたのパスワードは" + pwd + "です","iso-2022-jp");
160
+
161
+
162
+
163
+ //保存
164
+
165
+ mimeMessage1.saveChanges();
166
+
167
+
168
+
169
+
170
+
171
+ //メールの送信
172
+
173
+ Transport.send(mimeMessage1);
174
+
175
+ } catch (SendFailedException e) {
176
+
177
+ /*ここの中がわからない*/
178
+
179
+ メッセージ ”送信しました"を表示
180
+
181
+ 他はすべて送信
182
+
183
+ }catch(MessagingException e){/*すべての例外*/
184
+
185
+ e.printStackTrace();
186
+
187
+ return 0;
188
+
189
+ }
190
+
191
+ return 1;
192
+
193
+ }
194
+
195
+
196
+
197
+
198
+
199
+ }
52
200
 
53
201
 
54
202
 
55
203
  ```
56
204
 
57
-
58
-
59
- ```メール送信
60
-
61
- ```SEndMail.java
62
-
63
- public class SendMail {
64
-
65
- /*フィールド*/
66
-
67
- private String address;
68
-
69
- private String pwd;
70
-
71
-
72
-
73
- public SendMail(String address, String pwd) {/*コンストラクタ*/
74
-
75
- this.address = address;
76
-
77
- this.pwd = pwd;
78
-
79
- }
80
-
81
- public int doMail(){
82
-
83
- /*メール送信*/
84
-
85
-
86
-
87
-
88
-
89
- try{/*start*/
90
-
91
- //property
92
-
93
- Properties prop = new Properties();
94
-
95
- /*接続環境指定*/
96
-
97
-
98
-
99
- prop.put("mail.smtp.auth", "true");//認証
100
-
101
- prop.setProperty("mail.smtp.host", "smtp.kagoya.net");//ホストサーバー設定
102
-
103
- prop.setProperty("mail.smtp.port", "25");//ポート番号指定587でも可
104
-
105
-
106
-
107
- /*コンソール*/
108
-
109
- //サーバとの会話内容を出力してくれる!
110
-
111
- prop.setProperty("mail.debug", "true");
112
-
113
-
114
-
115
- //パスワードを保持するクラスを作る必要がある?
116
-
117
- class PasswordAuthenticatior extends Authenticator{
118
-
119
- private String username;
120
-
121
- private String password;
122
-
123
-
124
-
125
- PasswordAuthenticatior(String username, String password) {
126
-
127
- this.username = username;
128
-
129
- this.password = password;
130
-
131
- }
132
-
133
-
134
-
135
- @Override
136
-
137
- public PasswordAuthentication getPasswordAuthentication() {
138
-
139
- return new PasswordAuthentication(username, password);
140
-
141
- }
142
-
143
- }
144
-
145
-
146
-
147
- //パスワード認証つきのセッションを作成
148
-
149
- Session session = Session.getDefaultInstance(
150
-
151
- prop,
152
-
153
- new PasswordAuthenticatior("infinitys.chinuki","infinitys")
154
-
155
- );
156
-
157
-
158
-
159
-
160
-
161
- //送信メッセージ
162
-
163
- MimeMessage mimeMessage1 = new MimeMessage(session);
164
-
165
-
166
-
167
-
168
-
169
- //ToAddressのセット
170
-
171
- mimeMessage1.setRecipient(Message.RecipientType.TO, new InternetAddress(this.address));
172
-
173
-
174
-
175
- //FRomAdressnoセット
176
-
177
- mimeMessage1.setFrom(new InternetAddress("chinuki@infinitys.co.jp"));
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
- new String("Subject");
186
-
187
- mimeMessage1.setSubject("パスワード発行","iso-2022-jp");/*件名*/
188
-
189
- new String ("Text");
190
-
191
- mimeMessage1.setText("あなたのパスワードは" + pwd + "です","iso-2022-jp");
192
-
193
-
194
-
195
- //保存
196
-
197
- mimeMessage1.saveChanges();
198
-
199
-
200
-
201
-
202
-
203
- //メールの送信
204
-
205
- Transport.send(mimeMessage1);
206
-
207
- }catch(MessagingException e){/*すべての例外*/
208
-
209
- e.printStackTrace();
210
-
211
- return 0;
212
-
213
- }
214
-
215
- return 1;
216
-
217
- }
218
-
219
-
220
-
221
-
222
-
223
- }
224
-
225
-
226
-
227
205
  ```
228
206
 
229
- ```
230
-
231
207
 
232
208
 
233
209
  ###補足情報(言語/FW/ツール等のバージョンなど)

5

修正

2015/12/22 06:16

投稿

kentros511
kentros511

スコア122

test CHANGED
File without changes
test CHANGED
@@ -56,6 +56,180 @@
56
56
 
57
57
 
58
58
 
59
+ ```メール送信
60
+
61
+ ```SEndMail.java
62
+
63
+ public class SendMail {
64
+
65
+ /*フィールド*/
66
+
67
+ private String address;
68
+
69
+ private String pwd;
70
+
71
+
72
+
73
+ public SendMail(String address, String pwd) {/*コンストラクタ*/
74
+
75
+ this.address = address;
76
+
77
+ this.pwd = pwd;
78
+
79
+ }
80
+
81
+ public int doMail(){
82
+
83
+ /*メール送信*/
84
+
85
+
86
+
87
+
88
+
89
+ try{/*start*/
90
+
91
+ //property
92
+
93
+ Properties prop = new Properties();
94
+
95
+ /*接続環境指定*/
96
+
97
+
98
+
99
+ prop.put("mail.smtp.auth", "true");//認証
100
+
101
+ prop.setProperty("mail.smtp.host", "smtp.kagoya.net");//ホストサーバー設定
102
+
103
+ prop.setProperty("mail.smtp.port", "25");//ポート番号指定587でも可
104
+
105
+
106
+
107
+ /*コンソール*/
108
+
109
+ //サーバとの会話内容を出力してくれる!
110
+
111
+ prop.setProperty("mail.debug", "true");
112
+
113
+
114
+
115
+ //パスワードを保持するクラスを作る必要がある?
116
+
117
+ class PasswordAuthenticatior extends Authenticator{
118
+
119
+ private String username;
120
+
121
+ private String password;
122
+
123
+
124
+
125
+ PasswordAuthenticatior(String username, String password) {
126
+
127
+ this.username = username;
128
+
129
+ this.password = password;
130
+
131
+ }
132
+
133
+
134
+
135
+ @Override
136
+
137
+ public PasswordAuthentication getPasswordAuthentication() {
138
+
139
+ return new PasswordAuthentication(username, password);
140
+
141
+ }
142
+
143
+ }
144
+
145
+
146
+
147
+ //パスワード認証つきのセッションを作成
148
+
149
+ Session session = Session.getDefaultInstance(
150
+
151
+ prop,
152
+
153
+ new PasswordAuthenticatior("infinitys.chinuki","infinitys")
154
+
155
+ );
156
+
157
+
158
+
159
+
160
+
161
+ //送信メッセージ
162
+
163
+ MimeMessage mimeMessage1 = new MimeMessage(session);
164
+
165
+
166
+
167
+
168
+
169
+ //ToAddressのセット
170
+
171
+ mimeMessage1.setRecipient(Message.RecipientType.TO, new InternetAddress(this.address));
172
+
173
+
174
+
175
+ //FRomAdressnoセット
176
+
177
+ mimeMessage1.setFrom(new InternetAddress("chinuki@infinitys.co.jp"));
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+ new String("Subject");
186
+
187
+ mimeMessage1.setSubject("パスワード発行","iso-2022-jp");/*件名*/
188
+
189
+ new String ("Text");
190
+
191
+ mimeMessage1.setText("あなたのパスワードは" + pwd + "です","iso-2022-jp");
192
+
193
+
194
+
195
+ //保存
196
+
197
+ mimeMessage1.saveChanges();
198
+
199
+
200
+
201
+
202
+
203
+ //メールの送信
204
+
205
+ Transport.send(mimeMessage1);
206
+
207
+ }catch(MessagingException e){/*すべての例外*/
208
+
209
+ e.printStackTrace();
210
+
211
+ return 0;
212
+
213
+ }
214
+
215
+ return 1;
216
+
217
+ }
218
+
219
+
220
+
221
+
222
+
223
+ }
224
+
225
+
226
+
227
+ ```
228
+
229
+ ```
230
+
231
+
232
+
59
233
  ###補足情報(言語/FW/ツール等のバージョンなど)
60
234
 
61
235
  ecipse javamail1.4.7

4

修正

2015/12/22 05:52

投稿

kentros511
kentros511

スコア122

test CHANGED
File without changes
test CHANGED
@@ -13,6 +13,10 @@
13
13
  登録する場合のエラーの出し方がわからない
14
14
 
15
15
  登録されていない場合はできています
16
+
17
+ javamailでMessagingExceptionしてるのにどんなメアドでも遅れてしまう
18
+
19
+ MailDAMONが届く前に判断したい
16
20
 
17
21
  ###ソースコード
18
22
 
@@ -54,4 +58,4 @@
54
58
 
55
59
  ###補足情報(言語/FW/ツール等のバージョンなど)
56
60
 
57
- ecipse
61
+ ecipse javamail1.4.7

3

修正

2015/12/22 05:23

投稿

kentros511
kentros511

スコア122

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
1
  ###前提・実現したいこと
2
+
3
+ SendFailedExceptionを使って
2
4
 
3
5
  登録する場合の
4
6
 

2

修正

2015/12/22 05:17

投稿

kentros511
kentros511

スコア122

test CHANGED
@@ -1 +1 @@
1
- javaでメールアドレスを登録する場合のメール送信エラーがわかりません
1
+ javaでメールアドレスを登録する場合のメール送信宛先エラーがわかりません
test CHANGED
File without changes

1

修正

2015/12/22 05:00

投稿

kentros511
kentros511

スコア122

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,8 @@
19
19
 
20
20
 
21
21
  String address = frm.getAddress();
22
+
23
+ String diagno = db.seldb(address);/*登録者かどうか検索*/
22
24
 
23
25
 
24
26