2013-10-19 2 views
-1

수령자가 항상 스팸 폴더에 메일을 수신하기 때문에 배의 내 사이트 사용자 ('발신자') 이메일 중 하나를 다른 사용자 ('수신자')에게 릴레이하는 데 실패했습니다. 아래의 설명에서 저희 웹 사이트는 "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]) ".

무엇이 누락 되었습니까?

답변

0

아마 모든 사람이되어 익숙한 웹 사이트의 가장 좋은 예 - 크레이그리스트 같은 사이트는 항상 수 있다는 것을 나는 발견했다 광고 (옷, 가구 등)를 판매 할 때 이메일을 보내려면

웹 사이트에서 사용자의 이메일 중 하나를 내받은 편지함에 성공적으로 '릴레이하는'다른 사례가 있습니다. 그것이 내가했던 것입니다. 우리 사이트가해야 할 일입니다. 사용자가 다른 사용자에게 연락해야 할 때 우리 사이트를 통해 이메일을 보냅니다. (다른 사용자를 알게 된 방법이기 때문에) 다른 사용자에게 이메일을 릴레이합니다.

아무도 (아직?)이 작업을 수행하는 방법에 대해 구체적인 경험이있는 것으로 보이지 않으므로이 질문을 조금만 닫을 것입니다.

0

알 수도 있듯이 스팸 방지 전쟁 *이 있습니다. 스팸 발송자가 너무 많아서 처리 능력 (스팸 필터링 용)과 같은 서버에서 상당한 자원을 사용하고 있기 때문입니다. 또한 이메일을 중단하지 않으면 이메일과 같은 것들의 유용성을 파괴 할 수도 있습니다. 따라서 중요한 실용적인 관심사이기 때문에 인터넷에서 매우 민감한 스팸 필터가 여러 가지 있습니다. 스팸 메일이 너무 많은 메시지를 보내거나, 특히 불운 한 비활성 전자 메일로 보내거나, (스팸 함정이라고 불리는) 메일 주소 등이 있습니다. 실행중인 스팸 방지 소프트웨어는 스팸을 발견하기위한 발견 적 방법 중 하나 인 형식의 특정 전자 메일을 사용하고 있다고 생각할 수 있습니다. 휴리스틱 스를 휴리스틱 스로 사용하는 것이 불합리하거나 지나치게 민감하다는 주장이 제기 될 수 있지만 앞서 언급했듯이 스팸과의 전쟁으로 인해 상당히 민감한 스팸 필터링 메커니즘이 발생했습니다. 테스트를 원할 경우 전자 메일 주소를 나열하거나 스팸 필터를 해제하십시오 (서버 측 필터, 전자 메일 클라이언트 및 바이러스 검색 프로그램에 필터링 기능이 포함될 수 있음). 스팸 필터가 범인인지 확인하십시오.

업데이트 :이 전자 메일 소프트웨어의 목적을 알게되었으므로 (아마도 한 사람의 사용자가 다른 사용자에게 보낸 메시지를 중계하기 위해 자신의 개인 정보를 보호하면서) 더 나은 제안을 드릴 수 있습니다.

웹 사이트에서받은 알림에는 사용자가 나에게 보낸 편지함에는 단순히 사람 이름이 아니라 발신자 이름에 웹 사이트 이름이 포함되어 있다는 메시지가 포함되어 있습니다. 예 :

웹 사이트 이름 ([email protected])

(참고 -이 라인에서의 웹 사이트 이름이 정확히 도메인 이름과 일치하는 일부 스팸 필터에 중요 할 수 있습니다.)

즉 스팸 필터를 통해 그것을 확인하지 못하는 경우, 나는 다음과 같은 아이디어를 시도 할 것 "에서"

  1. 체크 아웃 기타 다른 웹 사이트에서 선 그들이하고있는 방식을 볼 수 그 패턴을 찾아보십시오.

  2. 전자 메일 평판 서비스에 가입하여 도움이되는지 확인하십시오.

  3. 스팸 소프트웨어가 어떤 특정 스팸 소프트웨어를 신고했는지 파악하고 얼마나 많은 사용자를 보유하고 있는지 파악하여이 괴물이 큰 문제인지 또는 작은 문제인지 테스트합니다. 또한 이러한 전자 메일을 여러 다른 전자 메일 서비스로 전송하여 해당 전자 메일을 폐기할지 여부를 확인할 수도 있습니다. 실제로는 대부분의 전자 메일에 어떤 일이 일어날지를 나타내는 방식으로 작동하지 않는 오래되거나 인기가없는 스팸 필터가있을 수 있습니다.

    • 인용 : MIT 기술 검토에 의해 "스팸 전쟁"
+0

Google 팀에서는 사용자에게 "보내지는 모든 이메일이 스팸으로 취급되므로 스팸 메일 폴더를 확인하십시오."라고 말하지 않아도되도록 노력하고 있습니다. 내가 매일 상호 작용하는 웹 사이트는 화이트리스트에 등록하지 않아도 아무런 문제없이 깨끗한 이메일을받을 수 있기 때문에 모든 사용자가 수신 이메일을 허용하도록 요청하는 방법 이외에 다른 방법이 있어야한다는 것을 알고 있습니다. 나는 "저에게 새로운"웹 사이트를 가지고 있지 않았습니다. "우리는 확인 이메일을 보내고 있지만 스팸 폴더를 확인합니다."- 나는 그 종류의 메시지를 1 년 내에 보지 못했습니다. 꼭해야 해. – CFHcoder

+0

전자 메일을 스팸 폴더에 넣는 것을 단순히 제안하지는 않지만 다른 변형이 통과 할 수 있는지 여부를 테스트 해 보는 것이 좋습니다. 이제는 사이트에서 어떤 유형의 전자 메일을 보내고 있는지 (사용자의 신원을 보호하는 방식으로 사용자에게 메시지를 릴레이 함) 알기 때문에 나는 내 대답을 업데이트 할 새로운 제안을했습니다. – faerie

+0

나는 이번 주말에 사이트를 수정하여 사용자에게 "귀하의 이메일 스팸이나 정크 폴더를 확인하십시오. 우리가이 사이트에서 보내는 이메일을 보장 할 수 없기 때문에 귀하의 스팸 필터를 지나칠 수 있습니다."라고 알려주는 라이트 박스를 수정했습니다. " 나는 그것을하는 것을 정말로 싫어한다. 나는 스패머의 행동으로 인해서 만 일할 수있는 것처럼 느낍니다. 우리 사이트는 파티 A와 파티 B 사이에 '연결'을합니다. 그러나 이메일 릴레이를 중단하고 사이트에서 메시지를 호스팅하고 사용자에게 지금은 메시지를 확인한 다음 사용하거나 사용하도록해야합니다. 위의 라이트 박스. – CFHcoder

관련 문제