<?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>Java, Programming, Struts2, jQuery, Linux and more &#187; php</title>
	<atom:link href="http://www.jgeppert.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jgeppert.com</link>
	<description>Johannes Geppert</description>
	<lastBuildDate>Sat, 04 Feb 2012 12:31:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>In PHP E-Mail mit SMTP Authentifizierung versenden</title>
		<link>http://www.jgeppert.com/2009/06/php-e-mail-mit-smtp-authentifizierung-versenden/</link>
		<comments>http://www.jgeppert.com/2009/06/php-e-mail-mit-smtp-authentifizierung-versenden/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 20:44:36 +0000</pubDate>
		<dc:creator>jogep</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[authentifizierung]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[versenden]]></category>

		<guid isPermaLink="false">http://www.jgeppert.com/?p=269</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jgeppert.com/2009/06/php-e-mail-mit-smtp-authentifizierung-versenden/' addthis:title='In PHP E-Mail mit SMTP Authentifizierung versenden '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Um E-Mails mit PHP zu versenden, bringt PHP die Funktion mail($to, $subject, $body, $header) mit. Da diese Funktion aber ohne SMTP Authentifizierung funktioniert, werden Mails vom Empfänger häufig als SPAM markiert oder bei einigen E-Mail Anbietern gar nicht erst empfangen. Um das zu verhindern, empfiehlt sich das saubere Versenden mit SMTP Authentifizierung. Installation Für die [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.jgeppert.com/2009/06/php-e-mail-mit-smtp-authentifizierung-versenden/' addthis:title='In PHP E-Mail mit SMTP Authentifizierung versenden ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jgeppert.com/2009/06/php-e-mail-mit-smtp-authentifizierung-versenden/' addthis:title='In PHP E-Mail mit SMTP Authentifizierung versenden '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Um E-Mails mit PHP zu versenden, bringt PHP die Funktion mail($to, $subject, $body, $header) mit. Da diese Funktion aber ohne SMTP Authentifizierung funktioniert, werden Mails vom Empfänger häufig als SPAM markiert oder bei einigen E-Mail Anbietern gar nicht erst empfangen.

Um das zu verhindern, empfiehlt sich das saubere Versenden mit SMTP Authentifizierung.

<h3>Installation</h3>
Für die SMTP Authentifizierung werden die Paket <a href="http://pear.php.net/package/Mail">Mail</a> und <a href="http://pear.php.net/package/Net_SMTP">Net_SMTP</a> benötigt.
Entweder diese Pakete downloaden und in die Anwendung integrieren oder wenn möglich mit pear installieren.


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pear <span style="color: #c20cb9; font-weight: bold;">install</span> Mail
pear <span style="color: #c20cb9; font-weight: bold;">install</span> Net_Smtp</pre></div></div>




<h3>PHP Script</h3>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">&quot;Mail.php&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$body</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Mein Mail Bodyn&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$subject</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Mail mit SMTP Authentifizierung&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail_to</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;zumir@meinemailserver.de&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail_from</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;phpmailer@meinemailserver.de&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//SMTP Verbindungsdaten</span>
<span style="color: #000088;">$host</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;smtp.meinemailserver.de&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$username</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;phpmailer&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$password</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SuperGeheim&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$smtp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">Mail</span><span style="color: #339933;">::</span><span style="color: #004000;">factory</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'smtp'</span><span style="color: #339933;">,</span>
 <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
 <span style="color: #0000ff;">'host'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$host</span><span style="color: #339933;">,</span>
 <span style="color: #0000ff;">'auth'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span>
 <span style="color: #0000ff;">'username'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$username</span><span style="color: #339933;">,</span>
 <span style="color: #0000ff;">'password'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$password</span>
<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$headers</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
 <span style="color: #0000ff;">'From'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$mail_from</span><span style="color: #339933;">,</span>
 <span style="color: #0000ff;">'To'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$mail_to</span><span style="color: #339933;">,</span>
 <span style="color: #0000ff;">'Subject'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$subject</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$mail</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$smtp</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">send</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mail_to</span><span style="color: #339933;">,</span> <span style="color: #000088;">$headers</span><span style="color: #339933;">,</span> <span style="color: #000088;">$body</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>PEAR<span style="color: #339933;">::</span><span style="color: #004000;">isError</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mail</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Fehler beim Versender der E-Mail : &quot;</span><span style="color: #339933;">.</span> <span style="color: #000088;">$mail</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>getMessage<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>


<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.jgeppert.com/2009/06/php-e-mail-mit-smtp-authentifizierung-versenden/' addthis:title='In PHP E-Mail mit SMTP Authentifizierung versenden ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.jgeppert.com/2009/06/php-e-mail-mit-smtp-authentifizierung-versenden/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>PHP Client für REST WebService</title>
		<link>http://www.jgeppert.com/2009/05/php-client-rest-webservice/</link>
		<comments>http://www.jgeppert.com/2009/05/php-client-rest-webservice/#comments</comments>
		<pubDate>Wed, 13 May 2009 10:48:39 +0000</pubDate>
		<dc:creator>jogep</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[webservices]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[rest-webservice]]></category>
		<category><![CDATA[simplexml]]></category>
		<category><![CDATA[webservice]]></category>

		<guid isPermaLink="false">http://www.jgeppert.com/?p=223</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jgeppert.com/2009/05/php-client-rest-webservice/' addthis:title='PHP Client für REST WebService '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>In einem meiner letzten Artikel habe ich geschrieben wie man mit Java und Jersey einen REST WebSerice erstellt. Jetzt folgt noch ein kleines Tutorial wie man selbigen WebService mit PHP aufrufen kann. Um das Ergebnis des WebService verarbeiten zu können verwende ich SimpleXML mit dem das XML in ein Object umgewandelt wird. So können wir [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.jgeppert.com/2009/05/php-client-rest-webservice/' addthis:title='PHP Client für REST WebService ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jgeppert.com/2009/05/php-client-rest-webservice/' addthis:title='PHP Client für REST WebService '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>In einem meiner letzten <a href="http://www.jgeppert.com/2009/03/restful-web-services-jax-rs-mit-jersey/">Artikel</a> habe ich geschrieben wie man mit <a href="http://www.jgeppert.com/2009/03/restful-web-services-jax-rs-mit-jersey/">Java und Jersey einen REST WebSerice</a> erstellt. Jetzt folgt noch ein kleines Tutorial wie man selbigen WebService mit PHP aufrufen kann.

Um das Ergebnis des WebService verarbeiten zu können verwende ich <a href="http://de.php.net/manual/de/book.simplexml.php">SimpleXML</a> mit dem das XML in ein Object umgewandelt wird. So können wir einfach die Attribute auslesen und weiterverarbeiten.


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">		<span style="color: #000088;">$webservice</span> <span style="color: #339933;">=</span>  <span style="color: #0000ff;">'http://localhost:8080/wstest/services/calculator/calc?a=234&amp;b=456'</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// WebService aufrufen</span>
		<span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$webservice</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// HTTP Status auslesen</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$http_response_header</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$version</span><span style="color: #339933;">,</span><span style="color: #000088;">$status_code</span><span style="color: #339933;">,</span><span style="color: #000088;">$msg</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span><span style="color: #000088;">$http_response_header</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// HTTP Status ueberpruefen</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$status_code</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Ungueltiger Aufruf des Web Services.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//SimpleXML Object erzeugen</span>
		<span style="color: #000088;">$simple_xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">simplexml_load_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #b1b100;">echo</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;html&gt;&lt;body&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$simple_xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ergebnisse</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$erg</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">echo</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Das Ergebniss von '</span><span style="color: #339933;">.</span><span style="color: #000088;">$erg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">formel</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' ist '</span><span style="color: #339933;">.</span><span style="color: #000088;">$erg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ergebniss</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;br /&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">echo</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;/body&gt;&lt;/html&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>




<strong>Fazit</strong>:
Der Aufruf eines REST WebService ist mithilfe von SimpleXML eine einfache Sache die zeigt das WebServices mit PHP einfach aufzurufen und zu verarbeiten gehen.<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.jgeppert.com/2009/05/php-client-rest-webservice/' addthis:title='PHP Client für REST WebService ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.jgeppert.com/2009/05/php-client-rest-webservice/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

