2011-04-08 1 views
2

Я пытаюсь использовать Swift Mailer для отправки электронной почты клиенту на своем веб-сайте. Проблема в том, что я не знаю ее адрес электронной почты и пароль, и я не хочу использовать мой.Могу ли я использовать SMTP с Swift Mailer, не определяя имя пользователя и пароль

Есть ли способ использовать SMTP с Swift Mailer, а не определять имя пользователя, пароль или адрес электронной почты? Укажите, как функция почты позволит вам использовать что-либо для адресов to/from.

+1

Вы можете отправить электронную почту без учетной записи электронной почты. Но, в зависимости от вашего почтового сервера, он почти гарантированно попадает в ее спам-бокс или даже удаляется принимающим сервером. – NotMe

+0

@ Крис: Но мне нужен способ отправить электронное письмо, не записав в коде код электронной почты somebodys. У меня проблема. Поэтому единственный вариант, о котором я могу думать, - вернуться к встроенной функции почты, от которой все рекомендуют. – Metropolis

ответ

2

Это то, что у меня есть для одного из наших сценариев, и я считаю, что он делает именно это.

$message = Swift_Message::newInstance() 
    //Give the message a subject 
    ->setSubject('Webinar Registration') 
    //Set the From address with an associative array 
    ->setFrom(array('FROM EMAIL ADDRESS' => 'FROM NAME')) 
    //Set the To addresses with an associative array 
    ->setTo(array('TO EMAIL ADDRESS')) 
    //Give it a body 
    ->setBody('My Message') 
    //And optionally an alternative body 
    //->addPart('<q>Here is the message itself</q>', 'text/html') 
    ; 

//Create the Transport 
$transport = Swift_SmtpTransport::newInstance('127.0.0.1', 25); 
//Create the Mailer using your created Transport 
$mailer = Swift_Mailer::newInstance($transport); 

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

Возможно, это было скопировано и слегка изменено из документации Swift для почтовой рассылки. Все, что мы делаем, это подключение к SMTP на localhost.

Редактировать: При взгляде на комментарии к исходному сообщению мне нужно задаться вопросом о запуске спам-фильтров. У нас на самом деле не было проблем с этим ... один, возможно, два пользователя жаловались на то, что не получают электронные письма. Если есть хорошая документация по этому типу вещей и способы избежать этих проблем, я бы хотел иметь ссылку на него. Я думаю, что у нас есть только SMTP-сервер IIS по умолчанию, который работает на нашем компьютере, как это установлено нашим провайдером.

Другое Редактировать: Ах, если это происходит на чужом веб-сайте, мы точно не знаем, как они настроены. Интересно, можете ли вы создать учетную запись у какого-либо другого поставщика электронной почты (при условии, что это не противоречит их условиям использования.) Возможно, я спрыгнул с пистолета со своим сообщением, извините.

+0

Если предложение localhost работает, то я готов попробовать. Я загружаю код сейчас, чтобы попробовать его. Я вернусь к вам через секунду. – Metropolis

+0

@Metropolis - Я надеюсь, что вы заработали. Однако следует серьезно отнестись к проблеме фильтрации спама. Я не эксперт по электронной почте, так что это определенно вопрос, который мне хотелось бы увидеть, как он был адресован/ответил где-то. (Хотя на данный момент для вас это не проблема.) – Guttsy

+0

Хорошо, что касается фильтрации спама. Эти письма отправляются одному человеку, поэтому, если он попадает в фильтр спама, мы сразу узнаем об этом. Если это не так, значит, в этом нет ничего плохого, и все будет хорошо.Если бы я отправлял это большому количеству людей, я мог бы видеть, что это большая проблема. Но до тех пор, пока это не придет, это работает нормально. Спасибо за вашу помощь! – Metropolis

0

Для этого необходимо предоставить , чтобы использовать реальный адрес электронной почты и отправлять его с сервера, который настроен правильно. В противном случае ваша почта будет в своем спам-боксе.

Просто попросите своего клиента создать адрес электронной почты [email protected], который был бы для этого. Если по какой-то глупой причине они не могут этого сделать, настройте почтовый адрес в gmail или какой-либо другой бесплатный поставщик электронной почты и отправьте его через свой почтовый сервер.

Существует много, что позволяет правильно настроить почтовый сервер в современном мире. Из управления черным списком, обратная настройка dns, настройка SPF и т. Д. Точка - провайдеры становятся все более изощренными каждый день, и если вы хотите, чтобы ваша заявка работала в долгосрочной перспективе, тогда вам нужно будет сделать это правильно.

Надеюсь, что помогает.

+0

Это все, хотя .... Я только отправляю его клиенту, и я, скорее всего, испытаю его, прежде чем вносить его в производство. Поэтому я могу технически делать это без использования имени пользователя/пароля каждый раз, пока я не перейду через клиента, чтобы он попал в их спам-бокс. Если я столкнулся с клиентом, когда письмо отправляется в спам-бокс, то я изменю его для них. В противном случае, что это больно? – Metropolis

+0

@Metropolis: Проблема в том, что очень вероятно, что в какой-то момент он потерпит неудачу. Не лучше ли начинать с этого, поэтому вам не нужно беспокоиться об этом? – NotMe

+0

Мне просто не пришло в голову, что для его использования должны быть данные аутентификации. Я не хочу, чтобы каждый клиент предлагал мне адрес электронной почты для использования, и я не хочу использовать один из своих. – Metropolis

Смежные вопросы