2014-04-07 3 views
0

이메일 주소로 전송되는 양식입니다. 그것은 20 분에서 4 시간까지 어디에서나받을 수있는 매우 오래 걸립니다. 누군가가 내 코드로 인해 너무 오랜 시간이 걸릴 수도 있습니다. 헤더 나 donot 답장이있는 것 같습니까?PHP 양식을 받기까지 오랜 시간이 걸립니다.

추가 정보는 :

  • 이 웹 사이트는 지금 htaccess로 암호 제한으로 보호된다. htaccess 비밀번호를 삭제하는 것은 보내는 시간에 차이가없는 것 같습니다.
  • 이 웹 사이트에는 mail 기능을 통해 전송 된 2 개의 다른 PHP 양식과 약 2-5 분 정도의 정상적인 이메일 수신 시간이 있습니다. 그래서 나는 호스트 나 ISP를 배제 할 수 있다고 생각한다.
  • 내가 왜 그렇게 오래 걸리는지 추측 할 때 아마도 스팸 필터를 활성화시키는 원인이 될 수 있습니다. 아마 여러 수신자 또는 내 머리글을 구성한 방식 또는 -f donotreply.... 줄을 설정하는 것일 수 있습니다.

누구든지 을이 코드에서 수신하는 데 시간이 오래 걸릴 수 있습니다.

<?php 
$email = str_replace("href=\"",'',$_POST['element_5_list']); 
$email2 = str_replace('\"','',$email); 
$email3 =str_replace("\\",'',$email2); 
$name = $_POST['element_0_name']; 
$email = str_replace(' ','',$_POST['element_1_email']); 
$company = $_POST['element_2_company']; 
$date = $_POST['element_3_date']; 
$comment = $_POST['element_4_comment']; 
$list = $_POST['element_5_list']; 
$mails = array(); 
foreach($_POST['rep'] as $rep_num) { 
    if($rep_num == 02) {$rep_num = '[email protected]';}   
    if($rep_num == 03) {$rep_num = '[email protected]';}   
    if($rep_num == 04) {$rep_num = '[email protected]';} 
    $mails[] = $rep_num; 
} 
$email_to = implode(',', $mails); 
$email_subject = "Website Wishlist Form"; 
$email_message = "\n\n"; 
function clean_string($string) { 
    $bad = array ("content-type", "bcc:", "to:", "cc:", "href"); 
    return str_replace($bad, "",$string); 
} 
$email_message .= '<div style="font-family:Arial, Helvetica, sans-serif;padding-left: 90px;font-weight: 100;font-size: 14px;color: #2a2a2a;"><table width="800px" height="730px;"border="0" cellspacing="10" background="http://www.website.com//email_bg2.jpg"> 
       <tr> 
       <td style="vertical-align:top;padding-left:88px;"> 
       <h2 style="padding-top:30px;padding-left:90px;"> Wishlist Order</h2><p>Someone will respond to you shortly.</p><br>'; 
$email_message .= '<p style="max-width:750px;">Name: '. $name .'<br /></p>'; 
$email_message .= "<p style=\"max-width:750px;\">Email: " .clean_string($email) . "<br></p>"; 
$email_message .= "<p style=\"max-width:750px;\">Company: " .$company. "<br></p>"; 
$email_message .= "<p style=\"max-width:750px;\">Date Required: " .$date. "<br></p>"; 
$email_message .= "<p style=\"max-width:750px;\">Comment: " .$comment. "</span><br><br></p>"; 
$email_message .= '<u>Items on Wishlist:</u><style>tr:nth-child(2n) </style> </u><br>'.$email3. '</table>'; 
$email_message .= "</div>"; 
$headers = 'From:&nbsp;'. $name. " \r\n".$headers .= "MIME-Version:1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=utf-8; \r\n"; 
$add = "-f [email protected]"; 
'X-Mailer: PHP/' .phpversion(); 
mail($email_to, $email_subject, $email_message, $headers, $add); 
?> 
+0

머리글 등으로 전자 메일을 보내려고했습니다. 정상적으로 작동합니다. 어쩌면 귀하의 이메일 제공자는 현재 약간의 문제가 있습니까? 다른 이메일 주소로 사용해보십시오. – Xatenev

+0

오랜 시간이 걸리고 있습니다. 먼저 'to'주소를 하드 코드하여 전자 메일 주소로만 전송합니다. 전자 메일을받지 못하면 PHP 메일 기능이 제대로 설정되지 않아서 문제가 될 수 있습니다. 이 경우 PHP.ini 파일에서 문제를 해결할 필요가 있거나 PHPmailer (http://phpmailer.worxware.com/)와 같은 것을 사용하고 SMTP 설정을 사용하도록 설정할 수 있습니다. – mic

답변

0

이 실패에 대한 몇 가지 reasonons이있을 수 없습니다 ... 여러 recipints에 좋은 방법을 하나의 이메일입니다 전송
- emaill받는 사람의 무리가 어쩌면이다 - 호스트 제공자는
보낸 이메일의 제한이 동일한 공급자에서 최대 수신 전자 메일의 한도를 동시에 가질 수 있습니다.

저의 견해로는 하나의 전자 메일 (변수에 저장)을 만들고 모든 것을 반복하는 것이 가장 좋습니다. 받는 사람마다 전자 메일을 보내고받는 사람마다 전자 메일을 보내야합니다. 전자 메일을 X 명에게 보내는 대신 emai l 수취인

관련 문제