JavaMail联系我们swing表单编程

JavaMail联系我们swing表单编程,java,swing,jakarta-mail,Java,Swing,Jakarta Mail,我想在我的桌面应用程序Swing in Netbeans中编写一个联系我们表单,就像我们在一些网站中找到的一样 我面临的问题是smtp服务器名称。实际上,我希望用户可以给我发送一条消息,而无需提供他的地址邮件,也无需连接到他的帐户 这里是一个屏幕截图: 这是我的提交按钮操作: 当然,我在google和我发现了导致smtp服务器连接问题的原因。首先,确保smtp服务器侦听端口25。 您可以通过telnet进行检查 telnet localhost 25 如果没有,请在系统中安装smtp服务。 如

我想在我的桌面应用程序Swing in Netbeans中编写一个联系我们表单,就像我们在一些网站中找到的一样

我面临的问题是smtp服务器名称。实际上,我希望用户可以给我发送一条消息,而无需提供他的地址邮件,也无需连接到他的帐户

这里是一个屏幕截图:

这是我的提交按钮操作:


当然,我在google和我发现了导致smtp服务器连接问题的原因。

首先,确保smtp服务器侦听端口25。 您可以通过telnet进行检查

telnet localhost 25
如果没有,请在系统中安装smtp服务。
如果有,请检查smtp服务安全设置以连接它

首先通过运行检查邮件服务器是否已启动并正在运行

telnet localhost 25
其次,您不希望将fromAddress设置为用户“指定”的电子邮件,因为这将要求该帐户存在于您的本地邮件服务器上,因为与您联系的人通常不在您的系统上。相反,暂时将fromAddress硬编码为邮件服务器上已知的电子邮件地址,然后将用户的电子邮件地址附加到电子邮件中

一个你可能想做什么的例子

final String FROM_EMAIL_ADDRESS = yourexistingemail@mailserver.com;
InternetAddress fromAddress = new InternetAddress(FROM_EMAIL_ADDRESS);

message.setText(contactUs.getMsgField().getText(), "\nFrom: " + contactUs.getMailField().getText());

您需要自己的smtp服务器您想说我为最终用户配置了默认的smtp服务器隐藏吗?您的问题与netbeans无关,与Swing无关。。。另外:为什么不显示自己的代码呢?我想您在本地主机上没有SMTP服务器。。。BTW为Gmail收件人,您可以使用免费谷歌SMTP -看看那里- ASPMX.L.GoGoLeWeb,端口25,没有Author或复查端口-NETSTAT -A -B在CMD上的Win和NETSTAT -听UNIX应该工作,请考虑您所做的安全性含义。您可能需要在不进行身份验证的情况下运行开放式SMTP服务器,或者需要在应用程序中嵌入身份验证信息,这些信息可能会被提取和误用。收集消息的信息并通过HTTP将其发布到您自己的web服务器可能会更好,在将请求作为电子邮件发送之前,您可以在该服务器上对请求的有效性进行更多检查。
final String FROM_EMAIL_ADDRESS = yourexistingemail@mailserver.com;
InternetAddress fromAddress = new InternetAddress(FROM_EMAIL_ADDRESS);

message.setText(contactUs.getMsgField().getText(), "\nFrom: " + contactUs.getMailField().getText());