質問編集履歴

2

確認結果の追加

2023/09/26 08:07

投稿

holiholi_777
holiholi_777

スコア10

test CHANGED
File without changes
test CHANGED
@@ -106,6 +106,52 @@
106
106
  今後は、mailtrapを使用して、外部向けにテストメール送信をC#とJavaで実装してみて実行結果を見ます。
107
107
  実行結果を見て、外部に問題無く届くのであれば、ローカルとWSL2の間の問題なので、この辺は私全く知識が足りていないので、本か何かご存じであれば、教えて頂ければ幸いです。
108
108
 
109
+ #### 目的(Java側から同一の環境(FackSMTP)へ向けてのメール送信テスト)
110
+ C#側ではメール送信できたので、ローカルのC#ではなくWSL側のJavaからメール送信テスト。
111
+ ここれ問題があるのであれば、ホストマシンとWSLの間がうまくいっていないという認識です。
112
+ (私の中では)
113
+ ```java
114
+ // ローカルホスト名でpingが通っているし、ローカルホスト名(Windowsのマシン名)を指定してても大丈夫だと思っています。(ここが違ったら指摘願います)
115
+ private static String _hostName = "ローカルのホスト名(Windowsのipconfig /allで出てくるホスト名)";
116
+ private static int _port = 25;
117
+ private static String _user = "user.sample";
118
+ private static String _pass = "pass.ample";
119
+ private static String _fa = "user.sample@hogehoge.com";
120
+ private static String _ta = "to.user@hogehoge.com";
121
+ ```
122
+
123
+ ```java
124
+ private void sendSimpleMail() throws EmailException{
125
+ try
126
+ {
127
+ var email = new SimpleEmail();
128
+ email.setHostName(this._mti.getHostName());
129
+ email.setSmtpPort(this._mti.getSmtpPort());
130
+ email.setAuthentication(this._mti.getSmtpUser(), this._mti.getSmtpPass());
131
+ email.setSSLOnConnect(false);
132
+ email.setFrom(this._mti.getFromAddress());
133
+ email.setSubject(this._mti.getSubject());
134
+ email.setMsg(this._mti.getMainMessage());
135
+ email.addTo(this._mti.getToAddressList());
136
+ if(!StringUtils.isEmpty(this._mti.getCcAddress()))
137
+ email.addCc(this._mti.getCcAddress());
138
+ if(!StringUtils.isEmpty(this._mti.getBccAddress()))
139
+ email.addBcc(this._mti.getBccAddress());
140
+ email.send();
141
+ }
142
+ catch(EmailException e){
143
+ throw e;
144
+ }
145
+ }
146
+ ```
147
+ 結果
148
+ ```
149
+ org.apache.commons.mail.EmailException: Sending the email to the following server failed : [host_name]:25
150
+ ```
151
+
152
+ 結果エラーとなりました。
153
+ mailtrap側への送信はまだ未テストなのでこの後で追加します。
154
+
109
155
  ご回答者の皆様。
110
156
  ご回答いただきありがとうございます。
111
157
  引き続きよろしくお願いいたします。

1

検証事項の追加

2023/09/26 07:52

投稿

holiholi_777
holiholi_777

スコア10

test CHANGED
File without changes
test CHANGED
@@ -38,3 +38,77 @@
38
38
  わかる方ご教授をお願い致します。
39
39
 
40
40
 
41
+ ### 現状の追記
42
+ 現状ローカルマシンでsmtp4devを疑い、FackSMTPを使用してC#でローカルでメール送信プログラムを組んでみたところ、送信が行えました。
43
+ #### 目的(smtp4devの動作確認として同様のメール送信をFackSMTPを使用して行う)
44
+ ##### 環境
45
+ C#.net (Coreじゃない方)
46
+ ```C#
47
+ using System;
48
+ using System.Collections.Generic;
49
+ using System.Linq;
50
+ using System.Text;
51
+ using System.Threading.Tasks;
52
+
53
+ namespace ConsoleMailSample
54
+ {
55
+ internal class Program
56
+ {
57
+ static void Main(string[] args)
58
+ {
59
+ var host = "ローカルのホスト名(Windowsのipconfig /allで出てくるホスト名)";
60
+ var port = 25;
61
+ var userName = "sample.user";
62
+ var password = "sample.pass";
63
+ var fromAddress = "sample.user@hogehoge.com";
64
+ var toAddress = "to.user@higehige.com";
65
+
66
+ var msg = new MimeKit.MimeMessage();
67
+ msg.From.Add(new MimeKit.MailboxAddress(userName, fromAddress));
68
+ msg.To.Add(new MimeKit.MailboxAddress("to.user", toAddress));
69
+
70
+ msg.Subject = "testmail" + DateTime.Now.ToString();
71
+
72
+ var mainMessage = new MimeKit.TextPart("Plain");
73
+ mainMessage.Text = "test mail";
74
+ msg.Body = mainMessage;
75
+
76
+ using (var sc = new MailKit.Net.Smtp.SmtpClient())
77
+ {
78
+ try
79
+ {
80
+ Console.WriteLine("送信開始");
81
+ sc.Connect(host, port, MailKit.Security.SecureSocketOptions.Auto);
82
+ sc.Authenticate(userName, password);
83
+ sc.Send(msg);
84
+ sc.Disconnect(true);
85
+
86
+ }
87
+ catch (Exception ex)
88
+ {
89
+ Console.WriteLine(ex);
90
+ }
91
+ finally
92
+ {
93
+ Console.WriteLine("送信終了");
94
+ }
95
+ }
96
+
97
+ Console.ReadLine(); // 待機
98
+
99
+ }
100
+ }
101
+ }
102
+
103
+ ```
104
+ C#側では、FackSMTPでは動いてsmtp4devでは動作しなかったので、toge_さんのメッセージついては読んで、確認をしてみます。
105
+
106
+ 今後は、mailtrapを使用して、外部向けにテストメール送信をC#とJavaで実装してみて実行結果を見ます。
107
+ 実行結果を見て、外部に問題無く届くのであれば、ローカルとWSL2の間の問題なので、この辺は私全く知識が足りていないので、本か何かご存じであれば、教えて頂ければ幸いです。
108
+
109
+ ご回答者の皆様。
110
+ ご回答いただきありがとうございます。
111
+ 引き続きよろしくお願いいたします。
112
+
113
+
114
+