我连接到smtp.live.com但是当我运行程序并插入电子邮件凭据时,它首先要求使用starttls命令以避免此异常。
try {
Socket socket1= new Socket("smtp.live.com",587);
again:
while(true) {
Scanner s= new Scanner(System.in);
String from=""; String to=""; String cc=""; String bcc="";
mail[m_count]=new Message();
答案 0 :(得分:1)
问题在于:
Socket socket1 = new Socket("smtp.live.com", 587);
如果端口号为25,那就没问题了。问题是您尝试使用启用SSL的SMTP,这需要您使用SSL套接字。但这有点复杂......
但是,我认为这里有一个更大的问题。从Java发送/接收电子邮件的正常方式是使用javax.mail
API。但是,如果要打开邮件服务器的套接字(或SSL套接字),则意味着您打算实现SMTP规范的客户端。除非你有充分的理由这样做......这听起来像是浪费精力。
@npinti提供的tutorial link假定您将使用javax.mail
。如果你
想要以艰难的方式去做,this tutorial向您展示了如何使用SSL套接字。