Comments (5)
Sure -- perhaps some extra documentation is needed there :) you should be able to:
$atts = $message->getAllAttachmentParts();
foreach ($atts as $ind => $part) {
$filename = $part->getHeaderParameter(
'Content-Type',
'name',
$part->getHeaderParameter(
'Content-Disposition',
'filename',
'__unknown_file_name_' . $ind
)
);
$out = fopen('/path/to/dir/' . $filename, 'w');
stream_copy_to_stream($part->getContentResourceHandle(), $out);
}
I didn't run this, but that's the basic idea. Let me know if it works out or if some corrections are needed and I'll add it to the usage guide.
from mail-mime-parser.
Hi Zaahid,
Thanks for quick reply!
I just run this code but got error at this line
$atts = $message->getAllAttachmentParts();
PHP Fatal error: Call to a member function getAllAttachmentParts() on a non-object in /../../
is this familiar?
Thanks!
from mail-mime-parser.
Hi @channelriyas -
That probably means you haven't assigned anything to $message. If you look at the example on the project's front page you can see how $message is assigned:
// ...
$message = $mailParser->parse($handle);
// ...
unless something went wrong in the call to parse().
from mail-mime-parser.
Hi Zaahid,
Yes, figure out the issue, my mistake, accidentally $message replaced with body content, thats why error ;)
Anyway now attachments works well, I can move to specific dir as-well, here is my code some one will help.
#!/usr/bin/php -q
<?php
require_once 'vendor/autoload.php';
$mailParser = new ZBateson\MailMimeParser\MailMimeParser();
$handle = fopen ("php://stdin", 'r');
$message = $mailParser->parse($handle); // returns a ZBateson\MailMimeParser\Message
fclose($handle);
$to = $message->getHeaderValue('to');
$from = $message->getHeaderValue('from'); // [email protected]
$from_name = $message->getHeader('from')->getPersonName(); // Person Name
$subject = $message->getHeaderValue('subject'); // The email's subject
$res = $message->getHtmlStream(); // getTextStream
$body_content = stream_get_contents($res);
$atts = $message->getAllAttachmentParts(); //get all attachments
if($atts){
$ind = 0;
foreach ($atts as $part) {
$filename = $part->getHeaderParameter(
'Content-Type',
'name',
$part->getHeaderParameter(
'Content-Disposition',
'filename',
'__unknown_file_name_' . $ind
)
);
$out = fopen('/path/to/dir/' . $filename, 'w');
stream_copy_to_stream($part->getContentResourceHandle(), $out);
}
}
?>
Zaahid, Thank you very much, this is really awesome library!!!!!!!! 👍
Riyas.
from mail-mime-parser.
Excellent, happy to hear that Riyas :)
from mail-mime-parser.
Related Issues (20)
- Mail ->getTextContent() ends with TypeError fwrite() HOT 4
- Fatal error Message::parse() method doesn't exist.
- Changed return type in php 8.2 HOT 9
- How to get all TO email addresses HOT 1
- Issue saving attachments after upgrading to 2.0 HOT 1
- Get Email & getAdresses not found
- Can not get header info
- docs wrong way of getting sender name? HOT 1
- phpstan complains about method getAddresses HOT 2
- feature request HOT 9
- Ending boundry "--<UUID>--" is being pulled out while parsing HOT 2
- cid mismatch - attachement HOT 1
- Missing function markAsChanged HOT 1
- High CPU with email with specific encoding HOT 3
- Possible memory leak when parsing mails in a loop HOT 1
- Parsing email attachment on error encoding HOT 1
- "Header\IHeader" does not contain "getEmail()" HOT 2
- Support for newer versions of mb-wrapper and stream-decorators HOT 6
- Update type hint
- HELP: Getting the email from the forwarded email HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mail-mime-parser.