Respond needs javascript to run. To find out more click here
c# da firefox url alma » Serdar Demir
RSS
 

Posts Tagged ‘c# da firefox url alma’

Java ile bir mail server üzerinden mail gönderme hakkında örnek Resimli anlatım

14 Eki

Java ile bir mail server üzerinden mail gönderme

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


/*
recipientsTO ve recipientsCC aralarinda “,” olacak sekilde mail adreslerinden olusturuldu.
recipientsCC  = “” seklinde yollanirsa CC de kimse yok demektir,hata vermez.
Ancak recipientsTO da en az bir mail adresi  olmalidir.Aksi halde javax.mail.SendFailedException: No recipient addresses hatasi alinir.
*/
public boolean SendMail(String host, String from, String recipientsTO, String recipientsCC, String subject, String messageBody) throws MessagingException{
boolean debug = false;
boolean retVal = true;
String MimeType = “text/html”;

String [] recipientsTOArr;
String [] recipientsCCArr;

int numberOfRecipientsTO;
int numberOfRecipientsCC;

try {

// host smtp adres tanimi yapiliyor
Properties props = new Properties();
props.put(“mail.smtp.host”, host);

// “Authentication” yapilmayacak bilgisi veriliyor. (*)
props.put(“mail.smtp.auth”, “false”);

Session session = Session.getDefaultInstance(props, null);
session.setDebug(debug);

// mesaj olusturulmaya basliyoryor
Message msg = new MimeMessage(session);

// FROM kismi
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);

// TO kismi, once kac mail adresi oldugu bulunuyor
numberOfRecipientsTO =  getMailAdrCount(recipientsTO);
if(numberOfRecipientsTO > 0) {
InternetAddress[] addressTo = new InternetAddress[numberOfRecipientsTO];

// TO adresleri diziye atiliyor
recipientsTOArr = setMailAdrs(recipientsTO,numberOfRecipientsTO);

//Her bir TO adresi için bir InternetAddress  objesi olusturuluyor.
for(int j = 0; j < numberOfRecipientsTO; i++) {
addressTo[ j ] = new InternetAddress(recipientsTOArr[ j ]);
}

msg.setRecipients(Message.RecipientType.TO, addressTo);
}

// CC kismi, once kac mail adresi oldugunu bulunuyor
numberOfRecipientsCC=  getMailAdrCount(recipientsCC);
if(numberOfRecipientsCC > 0) {
InternetAddress[] addressCC = new InternetAddress[numberOfRecipientsCC];
// CC adresleri diziye atiliyor
recipientsCCArr = setMailAdrs(recipientsCC,numberOfRecipientsCC);

//Her bir CC adresi için bir InternetAddress objesi olusturuluyor.
for(int j = 0; j < numberOfRecipientsCC; j++) {
addressCC[ j ] = new InternetAddress(recipientsCCArr[ j ]);
}

msg.setRecipients(Message.RecipientType.CC, addressCC);
}

// Konu ve içerik tipi tanimi yapiliyor(Setting the Subject and Content Type)
msg.setSubject(subject);
msg.setContent(messageBody, MimeType);

// Tarih set ediliyor(Set the Date: header)
msg.setSentDate(new Date());

// mesaj gonderiliyor.
startTime = System.currentTimeMillis();
Transport.send(msg);
endTime = System.currentTimeMillis();

return true;

}
catch (MessagingException msge) {
msge.printStackTrace();
retVal = false;
}
catch (Exception e) {
e.printStackTrace();
retVal = false;
}
return retVal;
}
}

(*)Authenticator auth = new SMTPAuthenticator();

(**)Session session = Session.getDefaultInstance(props, auth);

 
 

C# mail Gönderme

15 Tem

C# mail Gönderme C#’ta mail göndermek uygulamasindan önce mail gönderme isleminin nasil çalistigi konusuna biraz deyinelim

. Mail gönderebilmek için bir sunucuda iki adet protokol vardir: Mail Gönderme Protokolü, Mail Alma Protokolü. Mail Alma Protokolü Bir e-posta sunucusundaki mailleri alabilmek için kullanilan protokoldür. POP3 ya da IMAP bu protokollerin basindadir.C#’ta mail göndermek uygulamasindan önce mail gönderme isleminin nasil çalistigi konusuna biraz deyinelim. Mail gönderebilmek için bir sunucuda iki adet protokol vardir: Mail Gönderme Protokolü, Mail Alma Protokolü. Mail Alma Protokolü Bir e-posta sunucusundaki mailleri alabilmek için kullanilan protokoldür. POP3 ya da IMAP bu protokollerin basindadir. POP3 (Post Office Protocol 3) SMTP olarak adlandirdigimiz protokollerle gönderdigimiz mailler eger kisiye ulasmamissa, otomatik olarak farkli yollar denenir. Farkli yollarla yine ulasmiyorsa bize bir hata mesaji gönderir. Fakat POP3 servisini bir posta kutusu gibi düsünebiliriz. Bir e-posta geldiginde sunucu içerisinde gelen posta kutusuna kaydedilir, kullanici istediginde POP3 servisi ile istedigi yazilimi kullanarak bu postalari alabilmektedir. IMAP (Internet Mail Access Protocol) POP3 gibi, sunucuda kayitli olan e-postalara ulasabilmek için kullanilan bir protokoldür. POP3′ten farki, birden çok bilgisayardan bir mesaja ulasilabilmesidir. POP’da bir e-postaya tek bir bilgisayardan erisim saglanabilmektedir.

Mail Gönderme Protokolü SMTP (Simple Mail Tranfer Protocol) E-Posta göndermek için sunucu ve istemci arasindaki iliskiyi kuran protokoldür. E-Posta gönderme islemini bir örnekle inceleyelim: Benim mail adresim: yuhubaa@hotmail.com . Mail gönderme protokolü olarak POP3′ü kullaniyorum.

Yani benim web sitemin bulundugu sunucumda POP3 protokolüyle mail gönderen bir mail sunucusu da yer almaktadir. sdemir@serdardemir.net mail adresine mail gönderdigim zaman mail öncelikle POP3 protokolü ile mail sunucuma gelir, oraya kaydedilir, sunucu maili gönderilecek kisiye iletir. ——————————————————- C#’ta e-posta gönderme islemini inceleyelim: Mail islemlerini yapabilmek için öncelikle using bölümüne asagidaki namespace’i ekleyelim: using System.Net.Mail; Mail gönderebilmek için bu namespace içerisinde bulunan MailMessage ve SMTPClient siniflarindan faydalanacagiz. Mail mesajimi olusturabilmek için MailMessage sinifi türünden bir degisken olusturmamiz gerekmektedir.

MailMessage ePosta = new MailMessage(); ePosta degiskenimiz, göndecegimiz e-posta’mizin bütün elemanlarini bulundurmaktadir. ————————– From : E-Posta’nin kimden gönderilecegi bilgisini tutar. MailAddress türünden bir degisken istemektedir.

ePosta.From = new MailAddress(“gonderen@serdardemir.net”); ————————– To : E-Postanin kime/kimlere gönderilecegi bilgisini tutar.

ePosta.To.Add(“alan1@serdardemir.net”);

ePosta.To.Add(“alan2@serdardemir.net”); ePosta.To.Add(“alan3@serdardemir.net”); ————————– Attachments : E-Postaya eklenecek eklentilerin bilgisini tutar.

ePosta.Attachments.Add(new Attachment(@”C:\deneme.txt”)); ————————– Subject : E-Posta’nin konusu bilgisini tutar. ePosta.Subject = “Konu”; ————————– Body : E-Posta’nin içerik bilgisini tutar.

ePosta.Body = icerik; ————————– SMTPClient : E-Posta’nin gönderilecegi SMTP sunucu ve gönderen kullanicinin bilgilerinin yazilip, MailMessage türünde olusturulan mailin gönderildigi siniftir.

SmtpClient smtp = new SmtpClient(); ————————– Credentials : E-Posta’yi gönderen kullanicinin kimlik bilgilerini tutar

. smtp.Credentials = new System.Net.NetworkCredential(“gonderen@serdardemir.net”, “sifre”); ————————– Port : SMTP sunucusunun port bilgisini tutar. smtp.Port = 25; ————————– Host : SMTP sunucusunun isim bilgisini tutar.

smtp.Host = “smtp.serdardemir.net”; ————————– EnableSsl :Sunucu SSL istiyorsa bu degeri true yapacagiz. smtp.EnableSsl = true;

————————– SendAsync : E-Posta’yi asenkron olarak gönderir. Yani e-posta gönderilene kadar çalisan thread kapanmaz, gönderme islemi tamamlandiktan sonra kapatilir

. smtp.SendAsync(ePosta, (object)ePosta);

————————– Send : E-Posta’yi gönderme islemini yapar. Sunucuya göre Send ya da SendAsync metodlarindan birisi kullanilir. smtp.Send(ePosta); ————————– Asagidaki uygulama, C# dili kullanilarak GMAIL hesabindan baska bir hesaba mail gönderme islemini gerçeklestiren fonksiyondur:

public bool Gonder(string konu, string icerik) {

MailMessage ePosta = new MailMessage(); ePosta.From = new MailAddress(“posta@gmail.com”); // ePosta.To.Add(“alan1@gmail.com”); ePosta.To.Add(“alan2@gmail.com”); ePosta.To.Add(“alan3@hotmail.com”);

// ePosta.Attachments.Add(new Attachment(@”C:\deneme.txt”)); // ePosta.Subject = konu; // ePosta.Body = icerik; // SmtpClient smtp = new SmtpClient(); //

smtp.Credentials = new System.Net.NetworkCredential(“posta@gmail.com”, “sifre”);

smtp.Port = 587; smtp.Host = “smtp.gmail.com”; smtp.EnableSsl = true; object userState = ePosta; bool kontrol = true; try { smtp.SendAsync(ePosta, (object)ePosta); } catch (SmtpException ex) { kontrol = false;

System.Windows.Forms.MessageBox.Show(ex.Message, “Mail Gönderme Hatasi”); } return kontrol; }

Örnek Uygulama İndir