Я использую PEAR smtp mailer на PHP, и он отлично работает с вложениями CC и BB, а также с несколькими получателями. Моему боссу нужно, чтобы отправитель произнес имя отправителя при отправке на электронную почту. Наши торговые представители говорят, что это необходимо. Я пытался следовать указаниям, но когда я использую код ниже, электронное письмо не отправляется. Я предполагаю, что все типы электронной почты в почтовой программе должны быть написаны в одном формате. Например
//GET EMAIL OF USER
$result = mysql_query("SELECT email, email_pass, fullname FROM u_perinfo WHERE user_id = '$_SESSION[uid]'")
or die("There was an error when grabbing your email information");
if(mysql_num_rows($result) > 0){
$row = mysql_fetch_array($result);
if($row[0] != ''){
$from = "$row[2] <$row[0]>";
}
$email_pass = $row[1];
}
if(!empty($additional)){
$email .= ", $additional";
}
$recipients = array();
$headers["Subject"] = $subject;
$headers["From"] = "$from";
$headers["To"] = "$email";
$headers["Cc"] = "$cc";
$headers["Bcc"] = "$bcc";
будет производить John Doe <johndoe@gmail.com>
для переменной from, тогда как строка
$from = "$row[2] <$row[0]>;";
, повернутый к $from = $row[0]
, даст johndoe@gmail.com
Делая это позже (только с электронной почтой), он отправляет информацию и работает отлично. При попытке включить имя это не работает вообще. Я делаю что-то неправильно? Любая помощь будет принята с благодарностью.
ОБНОВЛЕНИЕ : это мой почтовый код, который вы запросили
$crlf = "\n";
$mime = new Mail_mime($crlf);
// Setting the body of the email
$mime->setTXTBody($mailmsg);
$mime->setHTMLBody($mailmsg); body = $mime->get();
$headers = $mime->headers($headers);
//$mailmsg = "Welcome to Addatareference.com! \r\n\r\nBelow is your unique login information. \r\n\r\n(Please do not share your login information.)$accountinfo";
/* SMTP server name, port, user/passwd */
$smtpinfo["host"] = "smtp.emailsrvr.com";
$smtpinfo["port"] = "25";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "$from";
$smtpinfo["password"] = "$email_pass";
/* Create the mail object using the Mail::factory method */
$mail_object =& Mail::factory("smtp", $smtpinfo);
/* Ok send mail */
$mail_object->send($recipients, $headers, $body);