email test 4


[insert_php]
//$emailSearch = “SUBJECT \”PerformanceStatement ($orgSaboName)\” SINCE \”20-Jan-2013\””;
$emailSearch = “SINCE \”20-Jan-2013\””;
function downloadDataSearch($emailAddress, $reportUrl, $reportType, $emailSearch)
{
$result = “error”;
// DOWNLOAD DATA
// the max time allows for the email to download
set_time_limit(30000);

// connect to gmail with your credentials
$hostname = ‘{imap.gmail.com:993/imap/ssl}INBOX’;
$username = ‘josefektest@gmail.com’; # e.g somebody@gmail.com
$password = ‘l1z@rd11’;

// try to connect
$inbox = imap_open($hostname,$username,$password) or die(‘Cannot download information: ‘ . imap_last_error());

$max_emails = 1;

/* get all new emails. If set to ‘ALL’ instead
* of ‘NEW’ retrieves all the emails, but can be
* resource intensive, so the following variable,
* $max_emails, puts the limit on the number of emails downloaded.
*
*/
$emails = imap_search($inbox, “$emailSearch”);

// if any emails found, iterate through each email
if($emails > 0)
{
$count = 1;

// put the newest emails on top
//rsort($emails);

// for every email…
foreach($emails as $email_number)
{
// get information specific to this email
$overview = imap_fetch_overview($inbox,$email_number,0);

// get mail structure
$structure = imap_fetchstructure($inbox, $email_number);

$attachments = array();

// if any attachments found…
if(isset($structure->parts) && count($structure->parts))
{
for($i = 0; $i < count($structure->parts); $i++)
{
$attachments[$i] = array(
‘is_attachment’ => false,
‘filename’ => ”,
‘name’ => ”,
‘attachment’ => ”
);

if($structure->parts[$i]->ifdparameters)
{
foreach($structure->parts[$i]->dparameters as $object)
{
if(strtolower($object->attribute) == ‘filename’)
{
$attachments[$i][‘is_attachment’] = true;
$attachments[$i][‘filename’] = $object->value;
}
}
}

if($structure->parts[$i]->ifparameters)
{
foreach($structure->parts[$i]->parameters as $object)
{
if(strtolower($object->attribute) == ‘name’)
{
$attachments[$i][‘is_attachment’] = true;
$attachments[$i][‘name’] = $object->value;
}
}
}

if($attachments[$i][‘is_attachment’])
{
$attachments[$i][‘attachment’] = imap_fetchbody($inbox, $email_number, $i+1);

// 4 = QUOTED-PRINTABLE encoding
if($structure->parts[$i]->encoding == 3)
{
$attachments[$i][‘attachment’] = base64_decode($attachments[$i][‘attachment’]);
}
// 3 = BASE64 encoding
elseif($structure->parts[$i]->encoding == 4)
{
$attachments[$i][‘attachment’] = quoted_printable_decode($attachments[$i][‘attachment’]);
}
//imap_delete($inbox,$email_number);
//imap_mail_move($inbox, $email_number,'[Gmail]/Bin’);
}
}
}

// iterate through each attachment and save it
foreach($attachments as $attachment)
{
if($attachment[‘is_attachment’] == 1)
{
// SCAN REPORT SET OUTSIDE OF FUNCTION
$filename = $reportUrl;
if(empty($filename)) $filename = $attachment[‘filename’];
if(empty($filename)) $filename = time() . “.dat”;

/* prefix the email number to the filename in case two emails
* have the attachment with the same file name.
*/
$fp = fopen($filename, “w+”);
fwrite($fp, $attachment[‘attachment’]);
fclose($fp);
$result = “success”;
}

}
// Only include if you have set $max_emails above //
// if($count++ >= $max_emails) break;
}
}
// close the connection
imap_close($inbox,CL_EXPUNGE);
return $result;
}
[/insert_php]