2015-09-16 3 views
0

Я близок к завершению моего первого реального сайта, этот сайт использует функцию php mail для отправки почты с моего сайта. Мой скрипт работает, потому что я использую ртуть, которая направляет почту через gmail smtp. Теперь мой вопрос: кто-нибудь может сказать мне, как подключиться к этому SMTP-серверу из php, потому что мой веб-хост не позволяет мне получить доступ к файлу php.ini.Как настроить php на веб-хостинге без файла php.ini

Заранее спасибо

+1

Вы можете посмотреть на [ 'ini_set()'] (http://php.net/manual/en/function.ini -set.php), хотя возможно, что ваш хостинг-провайдер [возможно, отключен] (http://php.net/manual/en/ini.core.php#ini.disable-functions) тоже. – HPierce

ответ

0

Этот класс PHP сделает это за вас. Большинство реальных webapps не полагаются на PHP mail(), они используют этот класс вместо (или swiftmailer, но его намного проще).

PHPMailer

Пример кода (от связанной страницы)

require 'PHPMailerAutoload.php'; 

$mail = new PHPMailer; 

//$mail->SMTPDebug = 3;        // Enable verbose debug output 

$mail->isSMTP();          // Set mailer to use SMTP 
$mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup SMTP servers 
$mail->SMTPAuth = true;        // Enable SMTP authentication 
$mail->Username = '[email protected]';     // SMTP username 
$mail->Password = 'secret';       // SMTP password 
$mail->SMTPSecure = 'tls';       // Enable TLS encryption, `ssl` also accepted 
$mail->Port = 587;         // TCP port to connect to 

$mail->From = '[email protected]'; 
$mail->FromName = 'Mailer'; 
$mail->addAddress('[email protected]', 'Joe User');  // Add a recipient 
$mail->addAddress('[email protected]');    // Name is optional 
$mail->addReplyTo('[email protected]', 'Information'); 
$mail->addCC('[email protected]'); 
$mail->addBCC('[email protected]'); 

$mail->addAttachment('/var/tmp/file.tar.gz');   // Add attachments 
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name 
$mail->isHTML(true);         // Set email format to HTML 

$mail->Subject = 'Here is the subject'; 
$mail->Body = 'This is the HTML message body <b>in bold!</b>'; 
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent'; 
} 
Смежные вопросы