<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Muhittin Özer &#187; smtp - Muhittin Özer - Kişisel Karalama Bölgem</title>
	<atom:link href="http://www.muhittinozer.com/tag/smtp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.muhittinozer.com</link>
	<description>Kişisel Karalama Bölgem</description>
	<lastBuildDate>Sat, 04 Feb 2012 08:25:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PHP ile SMTP üzerinden mail gönderme</title>
		<link>http://www.muhittinozer.com/2009/01/24/php-ile-smtp-uzerinden-mail-gonderme/</link>
		<comments>http://www.muhittinozer.com/2009/01/24/php-ile-smtp-uzerinden-mail-gonderme/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 00:48:12 +0000</pubDate>
		<dc:creator>Muhittin Özer</dc:creator>
				<category><![CDATA[PHP & MySQL]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Classes]]></category>
		<category><![CDATA[smtp]]></category>

		<guid isPermaLink="false">http://www.muhittinozer.com/?p=117</guid>
		<description><![CDATA[Uzun süredir PHP yazısı yazmıyorum. Yazacak çok şey birikti aslında yavaştan yavaştan başlamak lazım dedim ve bugün PHP ile SMTP server üzerinden mail gönderme işlemini bir önceki yazımda bahsettiğim sitede bulduğum bir class&#8217;ı kullanarak nasıl yapabileceğimizi anlatacağım. Öncelikle niçin PHP&#8217;nin hali hazırdaki mail() fonksiyonu ile değil de SMTP üzerinden mail gönderme işlemi yapacağız ona bir [...]]]></description>
			<content:encoded><![CDATA[<p>Uzun süredir PHP yazısı yazmıyorum. Yazacak çok şey birikti aslında yavaştan yavaştan başlamak lazım dedim ve bugün PHP ile SMTP server üzerinden mail gönderme işlemini <strong><a href="http://www.muhittinozer.com/2009/01/21/php-classlari-mi-ariyorsunuz/" target="_blank">bir önceki yazımda</a></strong> bahsettiğim sitede bulduğum bir class&#8217;ı kullanarak nasıl yapabileceğimizi anlatacağım.<span id="more-117"></span></p>
<p>Öncelikle niçin PHP&#8217;nin hali hazırdaki <a href="http://www.php.net/manual/tr/function.mail.php" target="_blank">mail()</a> fonksiyonu ile değil de SMTP üzerinden mail gönderme işlemi yapacağız ona bir açıklama getireyim.</p>
<ul>
<li>Öncelikle direk gönderilen maillerin  spam mail olarak algılanma olasılığının daha yüksek olduğu biliniyor,</li>
<li>Bir çok hosting firması gerek güvenlik gerekse IP adreslerinin itibarı açısından PHP&#8217;nin mail gönderme fonksiyonunu devre dışı bırakıyor,</li>
<li>Bazı mail okuyucular SMTP server tarafından imzalanmamış mailleri kabul etmemekte.</li>
</ul>
<p>Kısaca bu şekilde özetledikten sonra şimdi işlemleri nasıl yapacağımıza geçelim..</p>
<p>Öncelikle <a href="http://www.phpclasses.org/" target="_blank">PHP Classes</a> sitesinden <strong><a href="http://www.phpclasses.org/browse/package/264.html" target="_blank">PHPMailer</a></strong> class&#8217;ını indiriyoruz.</p>
<p>İndirdiğimiz pakette <strong>class.phpmailer.php</strong> ve <strong>class.smtp.php</strong> adında 2 dosya olmalı. Biz işlemlerimizi yaparken sadece class.phpmailer.php dosyasını çağıracağız. Ayrıca paketin içerisinde yer alan ve sınıfın tüm özellik ve metodlarının açıklamalarının yer aldığı <strong>phpmailer_doc.html</strong> dökümanına göz atmayı unutmayın. Ben mail gönderirken kullanacağımız birkaç tanesini açıklayacağım. İşte mail göndereceğimiz kodlar:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// PHPMailer dosyamızı çağırıyoruz</span>
<span style="color: #b1b100;">require</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;class.phpmailer.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Sınıfımızı $mail değişkenine atadık</span>
<span style="color: #000088;">$mail</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> PHPMailer<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">IsSMTP</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Mailimizin SMTP ile gönderileceğini belirtiyoruz</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">From</span>     <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;user@domain.com&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Gönderen kısmında yer alacak e-mail adresi</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Sender</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;user@domain.com&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ReplyTo</span>  <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;user@domain.com&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">FromName</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;PHP Mailer&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Host</span>     <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;smtp.domain.com&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//SMTP server adresi</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">SMTPAuth</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//SMTP server'a kullanıcı adı ile bağlanılcağını belirtiyoruz</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Username</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;user@domain.com&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//SMTP kullanıcı adı</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Password</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;password&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//SMTP şifre</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">WordWrap</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">50</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Subject</span>  <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Deneme Maili&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Konu</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//Mailimizin HTML formatında hazırlanacağını bildiriyoruz.</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">IsHTML</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//Mailimizin gövdesi: (HTML ile)</span>
<span style="color: #000088;">$body</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;strong&gt;Bu mail&lt;/strong&gt; bir deneme mailidir. SMTP server ile gönderilmiştir.&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// HTML okuyamayan mail okuyucularda görünecek düz metin:</span>
<span style="color: #000088;">$textBody</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Bu mail bir deneme mailidir. SMTP server ile gönderilmiştir.&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Body</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$body</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">AltBody</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$text_body</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Mail gönderilecek adresleri ekliyoruz.</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">AddAddress</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;muhittin@muhittinozer.com&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">AddAddress</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;hedef@domain.com&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Send</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> 
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Mail gönderildi&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">else</span> 
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Mail gönderimi başarısız&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ClearAddresses</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ClearAttachments</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>İşlem bu kadardan ibaret. Kodlar üzerinde gerekli açıklamaları yaptım. Ancak ard arda çok fazla mail göndermek spam olarak algılanmasına neden olabilir hatta olur. Bunun için toplu gönderilecek bülten gibi maillerde fazla adres eklemek yerine aralıklarla gönderme işlemini yapmak daha mantıklı olacaktır. Bunu da kodları mail adresi ekleme işleminden sonrasını (26. satır) şu şekilde düzenleyerek yapabiliriz:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//maillerimizin $mails dizisinde olduğunu varsayıyorum</span>
<span style="color: #000088;">$mails</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;muhittin@muhittinozer.com&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;hedef@domain.com&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;hedef2@domain.com&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mails</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$mail</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">AddAddress</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mail</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Send</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ClearAddresses</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$mail</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ClearAttachments</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// 2 sn bekletiyoruz mail gönderme işlemi arasında..</span>
	<span style="color: #990000;">sleep</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Orjinal paketle birlikte buradaki örnek uygulamayı da içeren paketi <strong><a href="http://www.muhittinozer.com/dosyalar/smtp-mail.rar">buradan</a></strong> indirebilirsiniz.</p>
<p>Sizin de eklemek istedikleriniz varsa yorumlarınızı bekliyorum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muhittinozer.com/2009/01/24/php-ile-smtp-uzerinden-mail-gonderme/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
	</channel>
</rss>

