آموزش ارسال ایمیل در زبان برنامه نویسی PHP

ارسال ایمیل به وسیله تابع mail در PHP

مثال 1 : در مثال زیر سعی نمودیم یک ایمیل ساده را به وسیله تابع ( ) mail ، ارسال نماییم. در این مثال هر کدام از ویژگیها و خصوصیات مورد استفاده برای ارسال ایمیل را در متغیر ذخیره نمودیم. سپس متغیر ها را به عنوان پارامتر به تابع ( )mail ارسال کرده ایم. لازم به ذکر است این تابع پس از ارسال ایمیل یک پیغام تایید نمایش میدهد.

 < ? php   $to = "someone@example.com";   $subject = "Test mail";   $message = "Hello! This is a simple email message.";   $from = "someonelse@example.com";   $headers = "From:" . $from   mail ( $to , $subject , $message , $headers ) ;   echo "Mail Sent."; ?>  

مثال 2 : در مثال زیر یک فرم HTML برای دریافت نظرات بازدیدکنندگان سایت طراحی شده است . این فرم دارای تعدادی کادر متنیست که مقادیر لازم را از کاربر دریافت کرده و سپس آنها را در یک متغیر تعیین شده ، ذخیره می نمایند. سپس این متغیرها را به عنوان پارامتر به تابع ( )mail ارسال می کنند تا در نهایت اطلاعات فرم به آدرس ایمیل مشخص شده ارسال گردد.

<html> <body>   <?php     if (isset($_REQUEST['email']))       // دستور بالا در صورتی که کادر ایمیل پر شده باشد ، ایمیل را ارسال می کند         {         // ارسال ایمیل           $email = $_REQUEST['email'] ;           $subject = $_REQUEST['subject'] ;           $message = $_REQUEST['message'] ;           mail ( "someone@example.com" , $subject , $message , "From:" . $email) ;           echo "از ارسال ایمیل شما متشکریم";         }     else       // اگر کادر ایمیل پر نشده باشد ، برنامه فرم زیرا را نمایش می دهد         {           echo " < form method='post' action='mailform.php' >           Email : < input name='email' type='text' /> <br />           Subject : < input name='subject' type='text' /> <br />           Message : <br />         < textarea name='message' rows='15' cols='40' >         < /textarea > <br />         < input type='submit' />         < /form >";         }   ?> </body> </html> 

ارسال ایمیل با سایر روش ها

<? 	$to = "test@yahoo.com"; 	$from = "support@regux.com"; 	$password = "your email password"; 	$subject = "this is subject"; 	$contents = "This is a test"; 	regux_Send_Mail($from,$to,$password,$subject,$contents); 	print("<HTML><BODY>Mail sent</body></html>!"); 	function regux_Send_Mail($from, $to,$password, $subject, $message) 	{ 		$namefrom = ""; 		$nameto = ""; 		/* your configuration here */ 		$smtpServer = "Mail Server IP"; //does not accept STARTTLS 		$port = "25"; // try 587 if this fails 		$timeout = "45"; //typical timeout. try 45 for slow servers 		$username = $from; //your gmail account 		$password = $password; //the pass for your gmail 		$localhost = $_SERVER['REMOTE_ADDR']; //requires a real ip 		$newLine = "\r\n"; //var just for newlines  		/* you shouldn't need to mod anything else */ 		//connect to the host and port 		$smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout); 		//echo $errstr." - ".$errno; 		$smtpResponse = fgets($smtpConnect, 4096); 		if(empty($smtpConnect)) 		{ 			$output = "Failed to connect: $smtpResponse"; 			echo $output; 			return $output; 		} 		else 		{ 			//$logArray['connection'] = "Connected to: $smtpResponse"; 			// echo "connection accepted<br>".$smtpResponse."<p />Continuing<p  			//>"; 		} 		//you have to say HELO again after TLS is started 		fputs($smtpConnect, "HELO $localhost". $newLine); 		$smtpResponse = fgets($smtpConnect, 4096); 		$logArray['heloresponse2'] = "$smtpResponse"; 		//request for auth login 		fputs($smtpConnect,"AUTH LOGIN" . $newLine); 		$smtpResponse = fgets($smtpConnect, 4096); 		$logArray['authrequest'] = "$smtpResponse"; 		//send the username 		fputs($smtpConnect, base64_encode($username) . $newLine); 		$smtpResponse = fgets($smtpConnect, 4096); 		$logArray['authusername'] = "$smtpResponse"; 		//send the password 		fputs($smtpConnect, base64_encode($password) . $newLine); 		$smtpResponse = fgets($smtpConnect, 4096); 		$logArray['authpassword'] = "$smtpResponse"; 		//email from 		fputs($smtpConnect, "MAIL FROM: <$from>" . $newLine); 		$smtpResponse = fgets($smtpConnect, 4096); 		$logArray['mailfromresponse'] = "$smtpResponse"; 		//email to 		fputs($smtpConnect, "RCPT TO: <$to>" . $newLine); 		$smtpResponse = fgets($smtpConnect, 4096); 		$logArray['mailtoresponse'] = "$smtpResponse"; 		//the email 		fputs($smtpConnect, "DATA" . $newLine); 		$smtpResponse = fgets($smtpConnect, 4096); 		$logArray['data1response'] = "$smtpResponse"; 		//construct headers 		$headers = "MIME-Version: 1.0" . $newLine; 		$headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine; 		$headers .= "To: $nameto <$to>" . $newLine; 		//observe the . after the newline, it signals the end of message 		fputs($smtpConnect, "To: $to\r\nFrom: $from\r\nSubject: $subject\r\n$headers\r\n\r\n$message\r\n.\r\n"); 		$smtpResponse = fgets($smtpConnect, 4096); 		$logArray['data2response'] = "$smtpResponse"; 		// say goodbye 		fputs($smtpConnect,"QUIT" . $newLine); 		$smtpResponse = fgets($smtpConnect, 4096); 		$logArray['quitresponse'] = "$smtpResponse"; 		$logArray['quitcode'] = substr($smtpResponse,0,3); 		fclose($smtpConnect); 		//a return value of 221 in $retVal["quitcode"] is a success 		return($logArray); 	} ?> 
<?php require_once "Mail.php"; $from = "support@regux.com"; $to = "test@yahoo.com"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "localhost"; $username = "support@regux.com"; $password = "your email password"; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) {  echo("<p>" . $mail->getMessage() . "</p>"); } else { echo("<p>Message successfully sent!</p>"); } ?> 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

چهار × یک =