2013-09-15 2 views
0

У меня есть приложение для Android HTML5 для Android, где я хочу, чтобы пользователи могли отправлять электронные письма другим людям с помощью Gmail или Yahoo. Это код, который я используюphp отправлять электронную почту с помощью SMTP

<?php 


$smtp=$_GET["smtp"]; 
$youremail= $_GET["youremail"]; 
$emailpassword=$_GET["emailpassword"]; 
$companyemail=$_GET["companyemail"]; 
$messagetitle= $_GET["messagetitle"]; 
$messagetext=$_GET["messagetext"]; 

//this is a path to PHP mailer class you have dowloaded 

include("class.phpmailer.php"); 

$emailChunks = explode(",", $companyemail); 
for($i = 0; $i < count($emailChunks); $i++){ 
// echo "Piece $i = <br />"; 


$mail = new PHPMailer(); 

$mail->IsSMTP(); 
$mail->SMTPDebug = 1; // errors and messages 



//$mail->SMTPSecure = "tls";     // sets the prefix to the servier 

$mail->Port  = 587; 

$mail->Host = "$smtp"; 

$mail->SMTPAuth = true; // turn on SMTP authentication 

$mail->Username = "$youremail"; // SMTP username 

$mail->Password = "$emailpassword"; // SMTP password 

$mail->From = "$youremail"; //do NOT fake header. 

$mail->FromName = "$youremail"; 

$mail->AddAddress("$emailChunks[$i]"); // Email on which you want to send mail 

$mail->AddReplyTo("$emailpassword", "Reply to"); //optional 

$mail->IsHTML(true); 

$mail->Subject = "$messagetitle"; 

$mail->Body = "$messagetext"; 

if(!$mail->Send()) 
{ 
echo $mail->ErrorInfo; 
}else{ 
echo "email was sent"; 

} 

} 


?> 

Ошибка, что я получаю: Недопустимый адрес: mysmtppassxxxxSMTP -> ОШИБКА: Не удалось подключиться к серверу: подключение истекло (110)


SMTP Error: МОГ не подключаться к узлу SMTP. SMTP Ошибка: Не удается подключиться к SMTP хост

, когда я делаю var_dump ($ электронной почты) Я получаю

object(PHPMailer)#1 (53) { 
    ["Priority"]=> 
    int(3) 
    ["CharSet"]=> 
    string(10) "iso-8859-1" 
    ["ContentType"]=> 
    string(9) "text/html" 
    ["Encoding"]=> 
    string(4) "8bit" 
    ["ErrorInfo"]=> 
    string(0) "" 
    ["From"]=> 
    string(18) "[email protected]" 
    ["FromName"]=> 
    string(18) "[email protected]" 
    ["Sender"]=> 
    string(0) "" 
    ["Subject"]=> 
    string(4) "test" 
    ["Body"]=> 
    string(10) "my message" 
    ["AltBody"]=> 
    string(0) "" 
    ["WordWrap"]=> 
    int(0) 
    ["Mailer"]=> 
    string(4) "smtp" 
    ["Sendmail"]=> 
    string(18) "/usr/sbin/sendmail" 
    ["PluginDir"]=> 
    string(0) "" 
    ["ConfirmReadingTo"]=> 
    string(0) "" 
    ["Hostname"]=> 
    string(0) "" 
    ["MessageID"]=> 
    string(0) "" 
    ["Host"]=> 
    string(14) "smtp.gmail.com" 
    ["Port"]=> 
    int(587) 
    ["Helo"]=> 
    string(0) "" 
    ["SMTPSecure"]=> 
    string(3) "ssl" 
    ["SMTPAuth"]=> 
    bool(true) 
    ["Username"]=> 
    string(18) "[email protected]" 
    ["Password"]=> 
    string(18) "[email protected]" 
    ["Timeout"]=> 
    int(10) 
    ["SMTPDebug"]=> 
    int(1) 
    ["SMTPKeepAlive"]=> 
    bool(false) 
    ["SingleTo"]=> 
    bool(false) 
    ["SingleToArray"]=> 
    array(0) { 
    } 
    ["LE"]=> 
    string(1) " 
" 
    ["DKIM_selector"]=> 
    string(9) "phpmailer" 
    ["DKIM_identity"]=> 
    string(0) "" 
    ["DKIM_domain"]=> 
    string(0) "" 
    ["DKIM_private"]=> 
    string(0) "" 
    ["action_function"]=> 
    string(0) "" 
    ["Version"]=> 
    string(3) "5.1" 
    ["smtp:private"]=> 
    NULL 
    ["to:private"]=> 
    array(1) { 
    [0]=> 
    array(2) { 
     [0]=> 
     string(18) "[email protected]" 
     [1]=> 
     string(0) "" 
    } 
    } 
    ["cc:private"]=> 
    array(0) { 
    } 
    ["bcc:private"]=> 
    array(0) { 
    } 
    ["ReplyTo:private"]=> 
    array(1) { 
    ["[email protected]"]=> 
    array(2) { 
     [0]=> 
     string(18) "[email protected]" 
     [1]=> 
     string(8) "Reply to" 
    } 
    } 
    ["all_recipients:private"]=> 
    array(1) { 
    ["[email protected]"]=> 
    bool(true) 
    } 
    ["attachment:private"]=> 
    array(0) { 
    } 
    ["CustomHeader:private"]=> 
    array(0) { 
    } 
    ["message_type:private"]=> 
    string(0) "" 
    ["boundary:private"]=> 
    array(0) { 
    } 
    ["language:protected"]=> 
    array(0) { 
    } 
    ["error_count:private"]=> 
    int(0) 
    ["sign_cert_file:private"]=> 
    string(0) "" 
    ["sign_key_file:private"]=> 
    string(0) "" 
    ["sign_key_pass:private"]=> 
    string(0) "" 
    ["exceptions:private"]=> 
    bool(false) 
} 
+0

Вам потребуется ** $ mail-> SMTPSecure = "SSL"; ** для Google, например. Некоторым SMTP-провайдерам необходим ssl для доступа. стоит попробовать. –

+0

Я снова получаю ту же ошибку! –

+0

как-то, если вы попробуете SSL на сервере nonSSL, тоже будет тайм-аут. с каким сервером вы пытаетесь подключиться? вы могли бы сделать дамп всех переменных ** кроме пользователя и пароля **? –

ответ

1

$mail->AddAddress() секция имеет недопустимый синтаксис.

Изменить его от $mail->AddAddress("$emailChunks[$i]"); к $mail->AddAddress("${emailChunks[$i]}");

В принципе, анализатор не признает, что индекс не является частью строки.

Эта статья объясняет это более подробно: Can I subscript an array variable inside a double quoted PHP string?

+0

Я получаю ту же ошибку после изменения SMTP -> ОШИБКА: Не удалось подключиться к серверу: Время ожидания подключения (110)
Ошибка SMTP: не удалось подключиться к узлу SMTP. Ошибка SMTP: не удалось подключиться к узлу SMTP. –

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