차지한다. 나는 같은 문제를 가지고 있었는데 문제는 포트 번호와 관련이있다.
Port:25
또는 다른 옵션 대신 Port:587
을 사용하십시오 ...이 포트로 Outlook에서 보내고 있으며 매번 성공했습니다.
그리고 솔루션은 대소 문자 구분에 숨겨져 IMAP 첨부 파일 문제에 대한
... 우리는 첨부 파일을 가져 오는에 대한 일반적 담당하는 기능
object imap_fetchstructure (resource $imap_stream , int $msg_number)
보면
.
우리는 Gmail 및 기타 무엇을 얻을 : 우리가있을 경우 확인하기 위해 if 문을 사용
1
[encoding] => 0
[ifsubtype] => 1
[subtype] => MIXED
[ifdescription] => 0
[ifid] => 0
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => boundary
[value] => b1_df2cd0669f50efc788d5aecfdded4957
)
)
[parts] => Array
(
[0] => stdClass Object
(
[type] => 0
[encoding] => 1
[ifsubtype] => 1
[subtype] => HTML
[ifdescription] => 0
[ifid] => 0
[lines] => 23
[bytes] => 729
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => charset // Notice Here...
[value] => iso-8859-1
)
)
)
[1] => stdClass Object
(
[type] => 5
[encoding] => 3
[ifsubtype] => 1
[subtype] => JPEG
[ifdescription] => 0
[ifid] => 0
[bytes] => 266988
[ifdisposition] => 1
[disposition] => attachment // Notice Here...
[ifdparameters] => 1
[dparameters] => Array
(
[0] => stdClass Object
(
[attribute] => filename // Notice Here...
[value] => cqLaQAZSei-15.jpg
)
)
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => name // Notice Here...
[value] => cqLaQAZSei-15.jpg
)
)
)
)
)
?>
그래서 지금, 일반적으로 어딘가에 첨부 파일을 가져 오는 경우 : 우리는 무엇 전망 얻을
stdClass Object
(
[type] => 1
[encoding] => 0
[ifsubtype] => 1
[subtype] => MIXED
[ifdescription] => 0
[ifid] => 0
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => BOUNDARY // Notice Here...
[value] => b1_04114a96a39b7789f88fdabc7feadc61
)
)
[parts] => Array
(
[0] => stdClass Object
(
[type] => 0
[encoding] => 1
[ifsubtype] => 1
[subtype] => HTML
[ifdescription] => 0
[ifid] => 0
[lines] => 20
[bytes] => 597
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => CHARSET // Notice Here...
[value] => iso-8859-1
)
)
)
[1] => stdClass Object
(
[type] => 5
[encoding] => 3
[ifsubtype] => 1
[subtype] => JPEG
[ifdescription] => 0
[ifid] => 0
[bytes] => 266988
[ifdisposition] => 1
[disposition] => ATTACHMENT // Notice Here...
[ifdparameters] => 1
[dparameters] => Array
(
[0] => stdClass Object
(
[attribute] => FILENAME // Notice Here...
[value] => oIROo0jJDb-15.jpg
)
)
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => NAME // Notice Here...
[value] => oIROo0jJDb-15.jpg
)
)
)
)
)
이메일의 해당 부분에있는 첨부 파일. 이 컨텍스트에서는 PHP IMAP Library Part 1 및 PHP IMAP Library Part 2 ... Fetching Attachment 기능은 자습서 2 부에 있습니다.
가져 오기 첨부 기능 :
function getAttachments($imap, $mailNum, $part, $partNum) {
$attachments = array();
if (isset($part->parts)) {
foreach ($part->parts as $key => $subpart) {
if($partNum != "") {
$newPartNum = $partNum . "." . ($key + 1);
}
else {
$newPartNum = ($key+1);
}
$result = getAttachments($imap, $mailNum, $subpart,
$newPartNum);
if (count($result) != 0) {
array_push($attachments, $result);
}
}
}
else if (isset($part->disposition)) {
if ($part->disposition == "ATTACHMENT") { // Notice here...
$partStruct = imap_bodystruct($imap, $mailNum,
$partNum);
$attachmentDetails = array(
"name" => $part->dparameters[0]->value,
"partNum" => $partNum,
"enc" => $partStruct->encoding
);
return $attachmentDetails;
}
}
return $attachments;
}
공지 사항 당신은 그것을 자본 ATTACHMENT
과 비교되지만 아웃룩 결과가 더 자본 ATTACHMENT
가 attachment
이이 없습니다 볼 수 else if
문 내부의 if
문.
그래서 최종 기능이 있어야한다 ...
strtoupper($part->disposition) == 'ATTACHMENT'
...
을 우리는 첨부 파일 작업을 이런 식으로 : 그래서 그 대신 그 라인의 내가 사용하는 것이 좋습니다 것입니다
function getAttachments($imap, $mailNum, $part, $partNum) {
$attachments = array();
if (isset($part->parts)) {
foreach ($part->parts as $key => $subpart) {
if($partNum != "") {
$newPartNum = $partNum . "." . ($key + 1);
}
else {
$newPartNum = ($key+1);
}
$result = getAttachments($imap, $mailNum, $subpart,
$newPartNum);
if (count($result) != 0) {
array_push($attachments, $result);
}
}
}
else if (isset($part->disposition)) {
if (strtoupper($part->disposition) == "ATTACHMENT") {
$partStruct = imap_bodystruct($imap, $mailNum,
$partNum);
$attachmentDetails = array(
"name" => $part->dparameters[0]->value,
"partNum" => $partNum,
"enc" => $partStruct->encoding
);
return $attachmentDetails;
}
}
return $attachments;
}
나는 희망 그게 문제를 해결해 줄거야 ... 왜냐하면 그게 나를 위해서 했어.
감사합니다 ...
대단히 감사합니다. 내 문제를 해결했습니다. – Aditya