java - Must issue a STARTTLS command first -
i running simple example gmail
account, not working , giving following error:
send failed, exception: com.sun.mail.smtp.smtpsendfailedexception: 530 5.7.0 must issue starttls command first. nv2sm4478384pbb.6
here code
public class email { public static void main(string [] args) { properties props = new properties(); props.put("mail.smtp.host", "smtp.googlemail.com"); props.put("mail.from", "myemail@gmail.com"); session session = session.getinstance(props, null); try { mimemessage msg = new mimemessage(session); msg.setfrom(); msg.setrecipients(message.recipienttype.to, "myemail@hotmail.com"); msg.setsubject("javamail hello world example"); msg.setsentdate(new date()); msg.settext("hello, world!\n"); transport.send(msg); } catch (messagingexception mex) { system.out.println("send failed, exception: " + mex); } } }
you attempting use gmail's servers on port 25 deliver mail third party on unauthenticated connection. gmail doesn't let this, because anybody use gmail's servers send mail else. called open relay , common enabler of spam in days. open relays no longer acceptable on internet.
you need ask smtp client connect gmail using authenticated connection, on port 587.
Comments
Post a Comment