MMS with CodeIgniter email class - codeigniter

I'm currently working on an application that will send the user a selected coupon via email or MMS. The problem that I am running into is with the display of the MMS when the customer receives it. on Android, the image is being displayed as a video, and on iOS, everything is wrong about the message.
Here's an example of the headers that are being sent:
User-Agent: none
Date: Tue, 5 Mar 2013 10:45:12 -0500
From:
Return-Path:
Subject: =?utf-8?Q?Your_Requested_Coupon?=
To: ###########txt.att.net
Reply-To: "webadministrator#domain.com"
X-Sender: webadministrator#domain.com
X-Mailer: none
X-Priority: 3 (Normal)
Message-ID: <51361308f1651#domain.com>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="B_ATC_51361309002f2"
This is a multi-part message in MIME format.
Your email application may not support this format.
--B_ATC_51361309002f2
Content-Type: multipart/alternative; boundary="B_ALT_51361308f3595"
--B_ALT_51361308f3595
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
--B_ALT_51361308f3595
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
--B_ALT_51361308f3595--
--B_ATC_51361309002f2
Content-type: image/jpeg; name="promo3.jpg"
Content-Disposition: attachment;
Content-Transfer-Encoding: base64
....
IMAGE ENCODING HERE
....
--B_ATC_51361309002f2--
And the CI Code:
$this->email->from('webadministrator#domain.com');
$this->email->to('XXXXXXXXXX#PHONE_MESSAGE_CENTER.COM');
$this->email->subject('Your Requested Coupon');
$this->email->message($this->load->view('sms_email', '', TRUE));
$this->email->attach('/path/to/image.jpg'); //I've also tried passing a second param 'inline' to change the Content-Disposition to inline
Does anyone know if it is possible to use the built in email class to accomplish this, or do I need to write specific headers to make picture messaging display properly?
Also is there a proper message format for MMS: text or html?, is there a proper way to attach an image for the iOS to view?

trying to send mms from the web using an email address, example #mms.att.com, will get you blocked by the network eventually. there is not a clean way to get around this problem without support of the network or mms partner. the best solution these days is to just send an sms with a link to a mobile ad on the web.
and by the way, i'd recommend a provider like cdyne or twilio for sms (dont try to send sms via email address either!) you might also try to simply connect a 3g/4g modem and modifying the driver to programmatically shoot sms/mms messages. go at your own risk on that one ..

Related

Indy 10 email attachment appears in body

I've upgraded an existing email sending program from Indy 9 to Indy 10. This works fine in our test environment but on a clients site the attachments are appearing in the body of the email. Their SMTP server is adding a footer to the email and adding <html> ... </html> tags around the whole thing, which is causing this issue. The previous version on Indy 9 worked fine for this client.
Here is an example of the email we are sending:
Content-Type: multipart/mixed; boundary="gcJJK3Qk5C6XIV9FEwfRcK=_EH4Oq32hqE"
MIME-Version: 1.0
Date: Thu, 1 Oct 2020 00:02:29 +0100
Message-Id: <20201001000278.SM78660#B-P-S0308-APP1>
This is a multi-part message in MIME format
--gcJJK3Qk5C6XIV9FEwfRcK=_EH4Oq32hqE
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Body text appears here.
--gcJJK3Qk5C6XIV9FEwfRcK=_EH4Oq32hqE
Content-Type: application/octet-stream;
name="PDA Audit.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="PDA Audit.pdf"
JVBERi0xLjINCjEgMCBvYmoNCjw8IC9UeXBlIC9DYXRhbG9nIA0KL1BhZ2VzIDMgMCBSIA0KL1Zp
ZXdlclByZWZlcmVuY2VzIDw8IA0KPj4NCj4+IA0KZW5kb2JqDQo1IDAgb2JqDQo8PCAvVHlwZSAv
<more lines here>
--gcJJK3Qk5C6XIV9FEwfRcK=_EH4Oq32hqE--
Is there anything wrong with this?
I note that the boundary no longer contains the =_NextPart, so I'm wondering if the code on the server has been badly written and is expecting to find this. Has anyone else had a similar issue?
Issue solved. We were allowing Indy to decide on the Content-Type which worked if we only sent an email with an attachment. If a previous email was just text the Content-Type was set to text/plain. When the email with the attachment was then sent Indy thought the Content-Type was already set so did not change it. Setting the Content-Type correctly solved the problem.

Duplicate unique identifier(Id) for contacts in Outlook

We encountered a severe bug in Microsoft outlook.
Two contacts have the same unique identifier.
Both the contacts are present in same folder in outlook.
{
"#odata.etag":"W/"EQAAABYAAAC8DOd9nfEKQIKH9B+wE/6tAAMS+rHg"",
"id":"AAMkAGZmZDhjMmMwLWM5YWYtNGQ4My1iNjY3LTcyMmY1ZDJjMGQyYQBGAAAAAAA1hjIPSspAQpY74RqZjH0hBwC8DOd9nfEKQIKH9B_wE-6tAAMSuJSLAAC8DOd9nfEKQIKH9B_wE-6tAAMSuJroAAA=",
"displayName":"mac mac"
}
....
{
"#odata.etag":"W/"EQAAABYAAAC8DOd9nfEKQIKH9B+wE/6tAAMS+onF"",
"id":"AAMkAGZmZDhjMmMwLWM5YWYtNGQ4My1iNjY3LTcyMmY1ZDJjMGQyYQBGAAAAAAA1hjIPSspAQpY74RqZjH0hBwC8DOd9nfEKQIKH9B_wE-6tAAMSuJSLAAC8DOd9nfEKQIKH9B_wE-6tAAMSuJrOAAA=",
"displayName":"smaran13"
}
First contact was created using Outlook beta batch API's.
Second contact was created inside Outlook Web App in Chrome browser.
Both the id's are same.
Though contact was created using Outlook beta API, still duplicate unique identifier is a severe issue.
We are unable to fetch the first contact by id using Microsoft graph API.
Fetching the contact using id in Microsoft graph API gives only the second contact.
Only way to get the first contact is to get all contacts
Here is a sample of the code
Create Contact API
POST /api/beta/$batch
Host: outlook.office.com
Authorization: Bearer <access_token>
Content-Type: multipart/mixed; boundary=batch_ZohoGadgets
Accept: multipart/mixed
Prefer: odata.continue-on-error
--batch_881a83c8-4fdb-11e9-8647-d663bd873d93
Content-Type: application/http
Content-Transfer-Encoding: binary
POST /api/beta/me/contacts HTTP/1.1
Content-Type: application/json;odata=verbose
{"Surname":"Sample Name"}
--batch_881a83c8-4fdb-11e9-8647-d663bd873d93
Get all contacts API
GET /v1.0/me/contactfolders/{Id}/contacts?$select=id,displayName&$top=999
Host: graph.microsoft.com
Authorization: Bearer <access_token>
There are many such contacts with duplicate id's in our account.
Not duplicate. The two ids differ on the fourth element from the end - "o" vs "O".

Send email in codeigniter with domains

I tries to send email using codeigniter. I sent to gmail (# gmail.com) successfully but not for other domains example (# example.com). is there anything that could help me ??
following my code
$this->email->from($data['email'], 'Report');
$this->email->to('biosm.sa#gmail.com', 'hasan#example.com');
$this->email->set_mailtype('html');
$this->email->subject('Report '.$data['first_name'].' '.$tgl_report);
$this->email->message($report);
$this->email->send();
I get print debugger like buttom this :
Your message has been successfully sent using the following protocol: mail
From: "Report"
Return-Path:
Reply-To: "hasan#example.com"
X-Sender: hasan#example.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <546066ca6a564#example.com>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="B_ALT_546066ca6a5b9"
=?utf-8?Q?Report_Mujahid_12/11/2014?=
This is a multi-part message in MIME format.
Your email application may not support this format.

codeigniter, receiving no email after sending

I am using codeigniter email class and helper. Everything worked perfectly well just yesterday and I dont think that I have done anything with it, but now I just dont receive any emails. The print_debugger() is echoing that a mail has been successfully sent, but there is no email in my gmail inbox, nor is any in the spam.
I have also configured a James email server and I cant receive any emails on that too. I really dont know what to do. I read somewhere that maybe I had stated $this->load->library('email') multiple times, so I have deleted all that statements and instead of that I created an autoload function for that. There are no errors within the framework whatsoever but the emails just cant be received.
$config['protocol'] = 'sendmail';
$config['charset'] = 'iso-8859-1';
$this->email->initialize($config);
$this->email->from('check#mail.com', 'Admin');
$this->email->to('mygmailaccount#gmail.com');
$this->email->subject('subject');
$this->email->message('email body');
$this->email->send();
echo $this->email->print_debugger();
The output is something like this:
Your message has been successfully sent using the following protocol: sendmail
User-Agent: CodeIgniter
Date: Sun, 14 Jul 2013 21:54:39 +0200
From: "Admin"
Return-Path:
To: mygmailaccount#gmail.com
Subject: =?iso-8859-1?Q?subject?=
Reply-To: "check#mail.com"
X-Sender: check#mail.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <51e301ffa45d3#mail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
email body
You might want to start by looking in the mail server logs on the mail server that is being used to send the outgoing message from your codeignitor script. These should show you (a) whether or not the outgoing mail server is receiving the message for queuing from your codeignitor script, and if so - (b) what is happening when delivery of the message to the remote MTA is attempted.

Outlook 2010 doesn't show HTML emails sent with multipart/related

I'm programming an email newsletter with a couple of embedded images. The headers look like:
... (snip)
MIME-Version: 1.0
Content-type: multipart/related;
boundary="xyzzy1220091"
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
--xyzzy1220091
Content-type: text/html; charset=iso-8859-1; name="tempE924AAC7.html"
Content-description: html
Content-transfer-encoding: 7bit
Content-disposition: INLINE
(HTML newsletter here)
--xyzzy1220091
Content-type: image/jpeg; name="cabecera.jpg"
Content-description: cabecera
Content-transfer-encoding: base64
Content-disposition: inline; filename="cabecera.jpg";
Content-ID: <cabecera>
This works correctly in Gmail, Hotmail, Apple Mail... everything I tested it on, except Outlook 2010. In it, it will show an empty message and the HTML and JPG files as attachments in separate tabs; if you click on the HTML, it will show you a preview button with a warning about showing previews only from trusted sources.
If I send the newsletter not as a multipart/related attachment, but just as a HTML email:
Content-type: text/html
Content-transfer-encoding: quoted-printable
Then it displays perfectly in Outlook... but of course, then I can't add inline images.
As for the original problem, I solved it by using "multipart/alternative" and not attaching the HTML part as a file

Resources