2015-10-29 5 views
1

Я читаю электронные письма из текстового файла и должен отправлять по электронной почте один раз. Все (отправитель, субъект, тело) является постоянным, за исключением приемника. У меня есть PHP мэйлера работу и дополнительный код, я использую это:Почтовый ящик электронной почты по электронной почте один за другим

<?php 
if ($_FILES) { 
    if ($_FILES['file']['name'] != "") { 
     if (isset($_FILES) && $_FILES['file']['type'] != 'text/plain') { 
      echo "<span>File could not be accepted ! Please upload any '*.txt' file. </span>"; 
      exit(); 
     } 

     echo "<center><span id='Content'>Contents of ".$_FILES['file']['name']." File</span></center>"; 
     $fileName = $_FILES['file']['tmp_name']; 
     $file = fopen($fileName,"r") or exit("Unable to open file!"); 
     $string = file_get_contents("$fileName"); // Load text file contents 
     $pattern = '/[a-z0-9_\-\+][email protected][a-z0-9\-]+\.([a-z]{2,3})(?:\.[a-z]{2})?/i'; 
     preg_match_all($pattern, $string, $matches); 
     $output = var_export($matches[0]); 

     foreach ($output as $item) { 
      echo "$item\n"; 
      $output = $item; 
     } 

     print_r($output); 
    } else { 
     if (isset($_FILES) && $_FILES['file']['type'] == '') { 
      echo "<span>Please Choose a file by click on 'Browse' or 'Choose File' button.</span>"; 
     } 
    } 
} 
?> 
+0

Что вы хотите сказать? – madforstrength

+0

У меня есть текстовый файл, полный электронных писем, я должен прочитать электронные письма и отправить их по одному. Письма, которые я читаю из txt-файлов, являются адресом получателя. я не получаю, как отправлять по электронной почте один за другим на весь адрес, если у вас есть мысли, пожалуйста, поделитесь им. спасибо – KaramChand

+0

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

ответ

0

Вы можете установить несколько получателей одного сообщения и установить SingleTo истина.

$recipient_addresses = array(); 
.... 
$message = new \PHPMailer; 
$message->SingleTo = true; 
.... 
foreach($recipient_addresses as $email) $message->addAddress($email);  
.... 

Пожалуйста, не что чем SingleTo поддерживается только в «почте» и «Sendmail» транспортов, а не в «SMTP».

Если вы используете транспорт SMTP, просто запустите отправку для каждого адреса один за другим. Просто позвоните $ Сообщение-> addAddress один раз передать только один адрес для каждого экземпляра класса PHPMailer, но создать несколько экземпляров, один за другим:

1. $message = new \PHPMailer; 
2. $message->addAddress($email); 
3. fill other data, but don't set the SingleTo property value, keep it default (false). 
4. $message->send(); 
5. unset($message); 

Следует иметь в виду тот факт, что SingleTo является планировалось отказаться от выпуска PHPMailer 6.0 и удалить в 7.0.

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