Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java发送电子邮件_Java_Email - Fatal编程技术网

用Java发送电子邮件

用Java发送电子邮件,java,email,Java,Email,下面是我编写的一个简单的测试类,用于使用Java发送电子邮件。我正在尝试从本地主机发送消息。但我收到以下错误消息: javax.mail.MessagingException: Unknown SMTP host: http://localhost:8080/; nested exception is: java.net.UnknownHostException: http://localhost:8080/ at com.sun.mail.smtp.SMTPTransport.openServ

下面是我编写的一个简单的测试类,用于使用Java发送电子邮件。我正在尝试从本地主机发送消息。但我收到以下错误消息:

javax.mail.MessagingException: Unknown SMTP host: http://localhost:8080/;
nested exception is:
java.net.UnknownHostException: http://localhost:8080/
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1280)
我将主机值改为简单的“localhost”,但我遇到了同样的问题。有什么解决办法吗?真正的服务器能工作吗

import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;    

public class MyEmail {

public static void main(String... args) {
    String to = "me@email.com";
    String from = "other@email.com";
    String host = "http://localhost:8080/";

    Properties properties = System.getProperties();
    properties.setProperty("mail.smtp.host",host);
    Session session = Session.getDefaultInstance(properties);

    try{
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
        message.setSubject("This is a subject");
        message.setText("The text is what it is the text");
        Transport.send(message);
        System.out.println("Successful");
    }catch(MessagingException mx){
        mx.printStackTrace();
    }
}
}

主机值应该只是主机名或ip地址。这不是HTTP


要设置端口,请将属性
mail.smtp.port
设置为您的端口号(作为字符串)

主机值应仅为主机名或ip地址。这不是HTTP


要设置端口,请将属性
mail.smtp.port
设置为您的端口号(作为字符串)

您需要在指定的主机上运行邮件(smtp)服务器以发送任何邮件。主机对应于SMTP服务器的地址(不带http://),端口对应于配置的SMTP端口。查看您的问题,与SMTP服务器建立连接时出现问题。请确保根据正在运行的SMTP服务器更正主机和端口的参数,然后重试。

您需要在指定的主机上安装一个正在运行的邮件(SMTP)服务器以发送任何邮件。主机对应于SMTP服务器的地址(不带http://),端口对应于配置的SMTP端口。从您的问题来看,与SMTP服务器建立连接时出现问题。请确保根据正在运行的SMTP服务器更正主机和端口的参数,然后重试。

您在哪里运行邮件守护程序?您在哪里运行邮件守护程序?我将其更改为“25”,但这不起作用。感谢您的回复。您正在运行哪种SMTP服务器?你可以在浏览器上使用的任何东西都不会起作用。我最终找到了答案,我把它改成了“25”,但这不起作用。感谢您的回复。您正在运行哪种SMTP服务器?我终于找到了答案我终于找到了答案我终于找到了答案