2012-01-10 5 views
3

Когда я меняю поставщиков, мне всегда приходится делать работу sendmail, и это реальное перетаскивание.Функция замены почты PHP()?

Есть ли свободные провайдеры, которые я могу использовать в своем PHP-коде, чтобы отправлять те же переменные, что и коды ключей для проверки регистрации?

Я пробовал искать Google, но я нашел вещи, которые имели генераторы форм, и это не то, что мне нужно.

+0

Итак, вы хотите, чтобы код отправлял электронную почту или поставщик электронной почты? Название не соответствует этому вопросу. –

ответ

2

Прямо сейчас Swift Mailer является одним из лучших почтовых решений для PHP. Он очень модульный и может быть легко настроен в соответствии с вашими потребностями. Вы можете определить multiple transports (например, в файле конфигурации) и использовать тот, который вам нужен, когда вы меняете поставщиков.

Вот пример из docs:

require_once 'lib/swift_required.php'; 

// Create the Transport 
$transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25) 
    ->setUsername('your username') 
    ->setPassword('your password') 
    ; 

/* 
You could alternatively use a different transport such as Sendmail or Mail: 

// Sendmail 
$transport = Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -bs'); 

// Mail 
$transport = Swift_MailTransport::newInstance(); 
*/ 

// Create the Mailer using your created Transport 
$mailer = Swift_Mailer::newInstance($transport); 

// Create a message 
$message = Swift_Message::newInstance('Wonderful Subject') 
    ->setFrom(array('[email protected]' => 'John Doe')) 
    ->setTo(array('[email protected]', '[email protected]' => 'A name')) 
    ->setBody('Here is the message itself') 
    ; 

// Send the message 
$result = $mailer->send($message); 
1

Что вам нужно, это исходящее проверку подлинности сервера SMTP, так вы не используете хозяев один и не должны изменить данные каждый раз.

Посмотрите на AuthSMTP (есть много других сайтов, которые предоставляют это), а затем используйте что-то вроде PHPMailer или Swift Mailer для отправки электронной почты с помощью аутентификации.

1

Проблема заключается в том, что многие интернет-провайдеры блокируют соединения на порту 25 (по умолчанию smtp) на серверах, отличных от их собственных. Имеет отношение к блокировке спама и т. Д.