Yazar |
|
ebru
Istanbul
Kayıt: 08.03.2006 |
|
Selam arkadaslar;
Ben javax.mail ile mail gondermek istiyorum , bunun icin email servisini cagiriyorum ,
Soyle ki:
public static void main(String[] args) {
EmailService emailService = ExamServiceLocator.getEmailService();
try {
List recipients = new ArrayList();
recipients.add("test@test.com.tr");
emailService.sendEmail(recipients,"Sifre Hatirlatma","Sifreniz : 1234");
} catch (Exception e) {
e.printStackTrace();
}
}
emailService.sendEmail nasil calişiyo :
public void sendEmail(String senderAddress, String senderName,
List recipients, String subject, String msg) throws Exception {
smtpHost ="mail.test.com.tr";
senderAddress = "sender@test.com.tr";
senderName = "senderName";
try {
Properties props = System.getProperties();
props.put("mail.smtp.host", smtpHost);
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
message.addHeader("Content-type", "text/html");
message.setSubject(sub);
message.setFrom(new InternetAddress(senderAddress, senderName));
for (Iterator it = recipients.iterator(); it.hasNext();) {
String email = (String) it.next();
message.addRecipients(Message.RecipientType.TO, email);
}
message.setText(msg);
message.setSentDate(new Date());
Transport.send(message);
} catch (Exception e) {
String errorMsg = "Could not send email";
log.error(errorMsg, e);
}
}
Sonuc olarak yukaridaki sendMail metodu ne kadar karişik gorunse de main içerisinde çagrildiginda çalişiyo, yani mali gonderiyo.Ama problem şu :
Bu servisi bean üzerinden cagirdigimda , yani controllerServlet oradan da ilgili bean'e gidip , bean içinde bu servis cagrilarak mail gondermeye kalktigimda
javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain; charset=us-ascii
Hatasini aliyorum....
NOT : ControllerServlet'te :
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
olarak set edilmiş durumda.
Süzüyor ufukta bir k?z?l yeri,
?çi karanl?kla dolu gözleri;
Aln?nda ak?am?n ince kederi,
Sessizli?in s?rr?,dudaklar?nda.
|
|
Yazar |
|
sevketarisu
istanbul
Kayıt: 14.01.2006 |
|
javax.activationu kullanarak mail gönderebilmiştim.
bean dediğiniz tam olarak nedir? bir java classı değil mi?
Günün sonunda kendini bir sokak köpe?i kadar yorgun hissediyorsan, bu belki
bütün gün h?rlad???n içindir.
|
|
Yazar |
|
sevketarisu
istanbul
Kayıt: 14.01.2006 |
|
jarların versiyonu ile ilgili olabilir
main metodundan cagırdıgınız da ve servletten cagırdıgınızda aynı activation.jar ları kullandıgından eminmisiniz, .
Günün sonunda kendini bir sokak köpe?i kadar yorgun hissediyorsan, bu belki
bütün gün h?rlad???n içindir.
|
|
Yazar |
|
ebru
Istanbul
Kayıt: 08.03.2006 |
|
Problem cozuldu, sizin de tahmin ettiginiz gibi activation.jar'dan kaynaklaniyormuş:)
Tesekkur ederim.
Bean dedigim de java uzantili dosya, servlet ile servisler arasinda kopru vazifesi goruyor diyebilirim.Yani jsp'den gelen parametre yada attributelarin session'dan alinip işlenmesi yada servislere beslenmesi için kullaniliyor.
Süzüyor ufukta bir k?z?l yeri,
?çi karanl?kla dolu gözleri;
Aln?nda ak?am?n ince kederi,
Sessizli?in s?rr?,dudaklar?nda.
|
|
Yazar |
|
ebru
Istanbul
Kayıt: 08.03.2006 |
|
Şimdi de soyle bir problem var :)
Gonderebildigim mailler sadece test.com.tr uzantili hesaplar, yani dışariya gonderemiyorum.
Mesela subs1@tst.com.tr 'den subs2@test.com.tr 'ye gonderirken sorun yok ama ornegin yahoo'ya gondermek istedigimde şu hatayi aliyorum :
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
class com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 Unable to relay for test@yahoo.com
Bunun sebebi authentiaction istemesi olabilir mi?
Süzüyor ufukta bir k?z?l yeri,
?çi karanl?kla dolu gözleri;
Aln?nda ak?am?n ince kederi,
Sessizli?in s?rr?,dudaklar?nda.
|
|
Yazar |
|
sevketarisu
istanbul
Kayıt: 14.01.2006 |
|
bu javayla ilgili bir problem gibi gözükmüyor,
bence de tahmin ettiginiz gibi smtp serverın ayarlarından kaynaklanıyor dışarı mail gönderme yetkisi yok sanırım. bununla ilgili bir link var işinize yarayabilir.
http://support.microsoft.com/?kbid=304897
Günün sonunda kendini bir sokak köpe?i kadar yorgun hissediyorsan, bu belki
bütün gün h?rlad???n içindir.
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
üzerinden mail göndermeye çalıştığın server "authentication" istiyor. yani kimlik doğrulaması istiyor. bu java ile ilgili değil. POP3 üzerinden kullanıcı adı ve şifren ile mail atman gerekiyor.
sorununuzu POP3 üzerinden mail atarak giderebilirsiniz.
http://www.javaworld.com/javaworld/jw-06-1999/jw-06-javamail-p2.html
N/A
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | |