2016-01-16 3 views
2

Я пытаюсь подключиться к учетной записи электронной почты pop3, размещенной на моем веб-узле. Мой сайт является общим хостом. Хост электронной почты, на котором я просматриваю свои электронные письма с помощью Windows Live, - mail.mysite.com с портом 110, и он отлично работает.Использование PHP с IMAP для проверки POP3 «синтаксическая ошибка»

Использование php и imap Мне не повезло. Я проверил, и мой хост установил IMAP. После этого я боролся с ним в течение нескольких часов и узнал, когда imap_open терпит неудачу, он еще три раза пытается просто развлечься. Поскольку я начал с imap_last_error() в качестве моей проверки ошибок, он рассказывал мне Cannot connect to Mail: Too many login failures Как только я понял, что происходит, не прошло много времени, чтобы выяснить, как получить остальные ошибки, а затем как отключить его, чтобы он не повторил.

Теперь я получаю syntax error Я пробовал десятки и десятки разных вариантов имени хоста. Ниже я включаю 4, чтобы люди могли видеть некоторые из самых здравых вещей, которые я пробовал, и результаты.

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

//$hostname = '{mail.mysite.com:110}INBOX'; //array(1) { [0]=> string(49) "[CLOSED] IMAP connection broken (server response)" } 
//$hostname = '{mail.mysite.com:110/pop3}INBOX'; //array(1) { [0]=> string(142) "Certificate failure for mail.mysite.com: Server name does not match certificate: /OU=Domain Control Validated/CN=*.websitesource.net" } 
$hostname = "{mail.mysite.com:110/pop3/novalidate-cert}INBOX"; //array(1) { [0]=> string(12) "syntax error" } 
//$hostname = '{mail.websitesource.net:110/pop3}INBOX'; //array(1) { [0]=> string(12) "syntax error" } 

//A temp account for testing 
$user  = '[email protected]'; 
$password  = '12345678!'; 

/* try to connect */ 
$inbox = imap_open($hostname,$username,$password,0,0) or die(var_dump(imap_errors())); 

//see errors at top of code, current error 'syntax error' 

ответ

0

Вы используете неправильную переменную. Заменить $username на $user

$inbox = imap_open($hostname,$user,$password,0,0) or die(var_dump(imap_errors())); 
0

Хорошо, я чувствую себя довольно глупо. $username - это не то же самое, что и $user. Когда я начал с разных сценариев, я не знал о проблеме с сертификатом (разные хосты) и где-то по строкам, я, без сомнения, скопировал часть одного тестового скрипта и часть другого, а wolla - простую ошибку, которая была скрыта более ранними ошибками.