如何发送邮件在docker上的rabbitmq?

再次,它应该是简单的,但没有能够find任何文件

在我以前的问题中,我在Docker中运行rabbitmq容器时遇到了问题。 它已经解决了,但现在又出现了另外一个

容器是用这一行创build的

docker run -d --hostname my-rabbit --name some-rabbit -p 15672:15672 rabbitmq:3-management 

我试图创build一个简单的控制台应用程序来检查发送消息是如何工作的(从基本教程 ):

 var factory = new ConnectionFactory() { HostName = "localhost", Port = 15672 }; using (var connection = factory.CreateConnection()) { using (var channel = connection.CreateModel()) { channel.QueueDeclare("Test", false, false, false, null); var mess = new RepMessage() { ConnectionString = "TestingString", QueueID = 5 }; var jsonified = JsonConvert.SerializeObject(mess); var messBody = Encoding.UTF8.GetBytes(jsonified); channel.BasicPublish("", "Test", null, messBody); Console.WriteLine(string.Format("Message with ConStr={0}, QueueID={1} has been send", mess.ConnectionString, mess.QueueID)); } } 

结果是,它不工作。 我收到exceptionNone of the specified endpoints were reachable和内部exception作为connection.start was never received, likely due to a network timeout

如果我删除端口,那么我的内部exception转换在No connection could be made because the target machine actively refused it 127.0.0.1:5672

我错过了什么是这个例子不应该与docker工作?

15672端口是rabbitmqpipe理插件web界面的一个端口。 当你发送信息给兔子 – 你需要连接到不同的端口(默认 – 5672)。 因此,改变你的代码连接到该端口,并通过-p 5672:5672将其映射到-p 5672:5672