ورود

View Full Version : سوال: فرستادن email از طریق جاوا



pro_mvb
دوشنبه 02 بهمن 1391, 17:35 عصر
سلام
من یه برنامه send mail ساده میخوام بنویسم یه جا پیدا کردم این سبکی کد زده بود !
اما من اجرا که کردم اررور میده
میشه بگین مشکل از کجاست؟


package jspy;

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

public class SendMail {

public static void main(String ars[]){
String host="smtp.gmial.com";
final String username="mosiobahmani@gmail.com";
final String password="******";
String mytext="salame man be to ey yare ghadimi";
String from="mosiobahmani@gmail.com";
String to="jpro_mostafa@yahoo.com";
String subject="tabrik";

Properties prop = new Properties();
prop.put("mail.smtp.starttls.enable", "true");
prop.put("mail.smtp.host",host);
prop.put("mail.smtp.auth","true");
prop.put("mail.smtp.port", "587");
Session session = Session.getDefaultInstance(prop,new javax.mail.Authenticator()
{ protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(username, password);
}
});

try{
MimeMessage message=new MimeMessage(session);

message.setFrom(new InternetAddress(from));
message.addRecipients(Message.RecipientType.TO,to) ;
message.setSubject(subject);
message.setText(mytext);

Transport.send(message);
System.out.print("vasl shod be server............");
}catch(MessagingException e){
e.printStackTrace();
}



}

}



:قلب:

ravand
دوشنبه 02 بهمن 1391, 18:24 عصر
چه خطایی میده؟ کتابخانه ی ایمیل رو اد کردی؟

pro_mvb
دوشنبه 02 بهمن 1391, 21:29 عصر
آره ادد کردم فقط یه سوال کتابخانه اش رو دانلود کردم بعد در نت بینز library type اش رو کلاس گذاشتم نه سرور ! مشکلی که نداره؟

اینم اررورش :

javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmial.com, port: 587;
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTra nsport.java:1706)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SM TPTransport.java:525)
at javax.mail.Service.connect(Service.java:313)
at javax.mail.Service.connect(Service.java:172)
at javax.mail.Service.connect(Service.java:121)
at javax.mail.Transport.send0(Transport.java:190)
at javax.mail.Transport.send(Transport.java:120)
at jspy.SendMail.main(SendMail.java:39)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Du alStackPlainSocketImpl.java:69)
at java.net.AbstractPlainSocketImpl.doConnect(Abstrac tPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress( AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractP lainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.j ava:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.j ava:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at com.sun.mail.util.SocketFetcher.createSocket(Socke tFetcher.java:284)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFe tcher.java:227)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTra nsport.java:1672)
... 7 more


که البته اگه این خط رو بردارم :

prop.put("mail.smtp.port", "587");

اررورش میشه این:

javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmial.com, port: 25, response: 554
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTra nsport.java:1694)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SM TPTransport.java:525)
at javax.mail.Service.connect(Service.java:313)
at javax.mail.Service.connect(Service.java:172)
at javax.mail.Service.connect(Service.java:121)
at javax.mail.Transport.send0(Transport.java:190)
at javax.mail.Transport.send(Transport.java:120)
at jspy.SendMail.main(SendMail.java:39)


که درواقع رفتم سرچ کردم فهمیدم اون خط رو باید اضافه کنم چون دارم از starttls استفاده میکنم (که دقیق نمیدونم چی هست اصا)
که اون خطم اضفه کردم اررروش رو ملاحظه کردین دیگه!

ravand
سه شنبه 03 بهمن 1391, 07:27 صبح
gmail رو اشتباه نوشتی:
String host="smtp.gmial.com";

pro_mvb
سه شنبه 03 بهمن 1391, 11:16 صبح
مستر مرسی
اما لعنتی باز اررور میده که به پورتش نمیتونه وصل بشه نه 465 نه 587
! چیکار کنم پس؟
اینجارو نگاه:
http://email.about.com/od/accessinggmail/f/Gmail_SMTP_Settings.htm

pro_mvb
سه شنبه 03 بهمن 1391, 12:04 عصر
درست شدش با پورت 587 ، مشکل اینجا بود که من با ساکس وصل بودم برای همین موقع کانکت شدن به پورت اجازه نمیداد!

ravand
سه شنبه 03 بهمن 1391, 12:37 عصر
وقتی شما با برنامه ی تغییر آی پی وصل بشی چون جیمیل قبلا آی پی شما رو ثبت کرده برای همین اجازه ی ورود با یه آی پی دیگه رو نمیده . اگه همینطوری هم وقتی برنامه ی تغییر آی پی مثل فی لتر شکن نصب داشته باشی وارد جیمیلت بشی همین مشکل برات پیش میاد.