2013-03-12 5 views
0

Я нахожусь в общем плане хостинга, и когда я отправляю электронные письма с помощью PHP, почтовые клиенты (например, Gmail) добавят немного via бит в мое поле from, там будет домен моего хоста.Подписание электронной почты PHP на общем хостинге

Так вместо того, чтобы мои письма быть только из моего домена:

From: [email protected] 

Это из двух доменов:

From: [email protected] via host13.myhost.com 

Очевидно, что это сбивает с толку людей, получающих электронную почту и беден брендинг. Поскольку я участвую в общем плане хостинга, я не думаю, что у меня, вероятно, будет доступ к настройкам конфигурации PHP или тому, что он использует для почтовой рассылки. Возможно ли, чтобы я подписал электронные письма с электронной почтой, или это невозможно на совместном хостинге?

Вот что я делаю сейчас:

$header = "From: [email protected]"; 
mail("[email protected]", "subject", "body", $header); 
+0

использование почтовой программы php через ваш SMTP –

+0

Вы должны указать код, который используете для отправки почты. Я бы сказал, что вы отправляете третью сторону, такую ​​как Gmail, и не используете 'mail()', поскольку это звучит так, как вы могли бы быть. Вы также можете посмотреть [SwitfMailer] (http://www.swiftmailer.org/). –

+0

Если вы можете сэкономить деньги, вы можете посмотреть такие услуги, как Amazon SES; они заботятся о подписании, надежной доставке и обратной связи (для отскоков и жалоб). –

ответ

1

Вы можете попробовать это, вам нужно загрузить класс PHP Mailer из Here и ваш код будет выглядеть следующим образом:

<?php 
include "PHP MAILER CLASS"; 
    $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch 
    $mail->IsSMTP(); // telling the class to use SMTP 
    try { 
     //$mail->SMTPDebug = 1;      // enables SMTP debug information (for testing) 
     $mail->SMTPAuth = true;     // enable SMTP authentication 
     $mail->SMTPSecure = "ssl";     // sets the prefix to the servier 
     $mail->Host  = "smtp.gmail.com";  // sets GMAIL as the SMTP server 
     $mail->Port  = 465;     // set the SMTP port for the GMAIL server 
     $mail->Username = "[email protected]"; // GMAIL username 
     $mail->Password = "password";   // GMAIL password 
     $mail->AddAddress("Reciever Email", "Reciever Name"); 
     $mail->SetFrom('Sender Email', 'Sender Name'); 
     $mail->Subject = "Subject"; 
     $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically 
     $mail->MsgHTML("Message Body"); 
     $mail->Send(); 
    } catch (phpmailerException $e) { 
     $e->errorMessage(); //Pretty error messages from PHPMailer 
    } catch (Exception $e) { 
     $e->getMessage(); //Boring error messages from anything else! 
    } 
    ?> 
+0

Это решает только половину проблемы. –

0

Функция почты по умолчанию зависит от настройки вашего сервера и редко выглядит как обычная почта получателю. Вы должны использовать библиотеку либо SwitfMailer, либо pear MAIL, которые могут отправлять почту через собственный почтовый сервер через SMTP. Вы можете использовать свою обычную учетную запись электронной почты или настроить новую для своего веб-службы.