수령자가 항상 스팸 폴더에 메일을 수신하기 때문에 배의 내 사이트 사용자 ('발신자') 이메일 중 하나를 다른 사용자 ('수신자')에게 릴레이하는 데 실패했습니다. 아래의 설명에서 저희 웹 사이트는 "oursite.com"입니다.배 메일이 작동하지 않습니다
내가가 실험의 많은이 단단한 일 후에이 좁혀 예를 위해서 다음과 같이 '헤더'(의 일부 "에서"내 이름은 샘 Hambone입니다 나는 아무 생각이없는 은 '보낸 사람 :'어떻게 이메일의 제목에 내 이름을 잡아 아래 설명 참조)을 사용하고 있습니다 :
$senderEmail = "[email protected]";
// this version of the 'from' variable makes the 'From' in the email's title
// look correct, like this: "[email protected] ([email protected])"
// but when the recipient gets the mail, it will ALWAYS go into the 'junk'
// or 'spam' email folder of the recipient's inbox. NOTE: using angle brackets
// instead of parentheses here changes nothing.
$from = $senderEmail . " (" . $senderEmail . ")";
// this second version of 'from' makes the mail arrive correctly
// in the recipient's Inbox and not in their spam/junk folder, but
// the "From:" line in the email's title looks like this:
// "Sam Hambone ([email protected])"
$from = $senderEmail;
편집 : 여기에 이메일의 제목과 헤더에서 '의 첫 번째 버전을 사용하는 모습 것입니다 위의 경우 - 수신자로 본인에게 전자 메일을 보냈습니다.
'Sender has a question for you, Mr. Recipient!'
Sam Hambone ([email protected]) << this is wrong -- it's mixing my (recipient)
real name with the sender's email address!!
To: [email protected]
From: [email protected]
Sent: Fri 10/18/13 5:49 PM
To: [email protected] ([email protected])
나머지 코드는 다음과 같습니다.이 코드는 성공적으로 전자 메일을 보내지 만 변수의 위 버전 중 하나를 사용하여 전자 메일이받는 사람의 정크 폴더 또는 '보낸 사람 : "샘 Hambone 말을 안 전자 메일의 제목의 일부 (:
$theRecipient = "[email protected]";
$to = $theRecipient . " (" . $theRecipient . ")";
$subject = "the subject is Pear and emailing.";
$body = "Ach, megotts lads, comes the blarney stone."
$host = "smtp.1and1.com";
$port = "25";
$username = "[email protected]";
$password = "12345";
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$headers['From'] = $from; // one of the two 'from' versions given above
$headers['To'] = $to;
$headers['Subject'] = $subject;
$mail = $smtp->send($theRecipient, $headers, $body);
// tried this, no help
$mail = $smtp->send($to, $headers, $body);
내가 보낸 사람의 전자 메일받는 사람의받은 편지함에 메시지하지만를"보낸 사람 "얻을 필요가 : 상기 한 바와 같이 '이메일의 제목 부분을 망쳐 [email protected]) ".
무엇이 누락 되었습니까?
Google 팀에서는 사용자에게 "보내지는 모든 이메일이 스팸으로 취급되므로 스팸 메일 폴더를 확인하십시오."라고 말하지 않아도되도록 노력하고 있습니다. 내가 매일 상호 작용하는 웹 사이트는 화이트리스트에 등록하지 않아도 아무런 문제없이 깨끗한 이메일을받을 수 있기 때문에 모든 사용자가 수신 이메일을 허용하도록 요청하는 방법 이외에 다른 방법이 있어야한다는 것을 알고 있습니다. 나는 "저에게 새로운"웹 사이트를 가지고 있지 않았습니다. "우리는 확인 이메일을 보내고 있지만 스팸 폴더를 확인합니다."- 나는 그 종류의 메시지를 1 년 내에 보지 못했습니다. 꼭해야 해. – CFHcoder
전자 메일을 스팸 폴더에 넣는 것을 단순히 제안하지는 않지만 다른 변형이 통과 할 수 있는지 여부를 테스트 해 보는 것이 좋습니다. 이제는 사이트에서 어떤 유형의 전자 메일을 보내고 있는지 (사용자의 신원을 보호하는 방식으로 사용자에게 메시지를 릴레이 함) 알기 때문에 나는 내 대답을 업데이트 할 새로운 제안을했습니다. – faerie
나는 이번 주말에 사이트를 수정하여 사용자에게 "귀하의 이메일 스팸이나 정크 폴더를 확인하십시오. 우리가이 사이트에서 보내는 이메일을 보장 할 수 없기 때문에 귀하의 스팸 필터를 지나칠 수 있습니다."라고 알려주는 라이트 박스를 수정했습니다. " 나는 그것을하는 것을 정말로 싫어한다. 나는 스패머의 행동으로 인해서 만 일할 수있는 것처럼 느낍니다. 우리 사이트는 파티 A와 파티 B 사이에 '연결'을합니다. 그러나 이메일 릴레이를 중단하고 사이트에서 메시지를 호스팅하고 사용자에게 지금은 메시지를 확인한 다음 사용하거나 사용하도록해야합니다. 위의 라이트 박스. – CFHcoder