iphone : Is it legal to send an email from my app via an external server (with a PHP script) - iphone

i wonder what is the best solution to send an email from my app.
I have two solutions :
1- using MFMailComposeViewController :
it works well. Easy to use. but use an huge amount of RAM : in activity monitor, when i use this, the RAM allocation grows from ~10 Mo to ~20Mo, and is never freed
2- Setup a PHP-Script that handles sending email.
it works very well too. And it uses very few RAM : around ~3 Mo with this solution.
So, my question is :
does this is allowed by apple ?
Does anyone is using this solution in his app ?

I'm pretty sure apple doesn't care how some email gets sent out when people use your app.
The more important issue is that when sending from the device, using MFMailComposeViewController, you get the following for free:
users see a familiar interface
users send their mail from their own account
users have messages in their sent folder
users can choose to archive a message
Using your own php script, you get:
a lot of extra work to do, and stuff to maintain
either A) always the same sender address (from your script), or B) an address that the user must type in (afaik there is no legal way to get an email address from iOS)
in case B), trying to send on behalf of the user, you will run into spam filters quickly (think about SPF and such)
Looking at these things, the proposed solutions are really not comparable. So the real question is, what kind of email is sent out. Is it feedback sent to you, or is it mail sent on behalf of the user?
The memory concerns are new to me, I never experienced such problems. Do you handle memory management the proper way? If so, there is nothing to worry about. Don't focus too much on the "activity monitor" if you're not actually experiencing problems.

I'll throw in a third alternative here. If you want to leverage a web service for emailing you could leverage an existing email service such as PostageApp (http://postageapp.com/). They have a a library you can use as part of your iOS / Mac app that interfaces with the API which allows you to send email from Objective-C. You can check out the plugin here:
http://dev.postageapp.com/pages/plugins.html. The nice thing about leveraging a service like this is you don't have to worry about the internals of sending email and lets you focus on your application.
(Disclosure: I work for PostageApp and built the plugin)

Related

Processing e-mail in Odoo 11 without previous threads – is this possible?

This Odoo company we're working with basically sends a lot of e-mail. One e-mail thread can turn into 100+ e-mails with different people brought into the conversation (CC'd) at different times. Due to the complexity of their e-mail management, they want to use their Gmail interface (Google Hosted) and CC an e-mail into odoo and they want it to get tracked in a thread. I've basically already done that... they have an e-mail like odoo+res.partner-432#domain.com (although it's hashed to not be easily readable) - they CC this and the full body thread gets included in chatter (mail.message) under respective model / id.
The challenge with this: the chatter messages can get huge very fast, due to their e-mail messages (because each e-mail includes main reply, and all previous history on thread). I've looked into some systems that have a "reply above this line" - and it just takes the latest message. And in those systems, eg. ticketing systems such as Zendesk, help scout, I believe the teams are using the ticketing system (not a gmail) and thus there is much more control over the inbox and incoming email (not to mention, those e-mails are usually 1-to-1, not including groups).
My questions:
Is there any other workaround that you see here to have odoo pull in only the last e-mail reply and not the full e-mail thread? I could probably build something like this: https://github.com/zapier/email-reply-parser - and hook it into odoos e-mail parsing, but that works on text format e-mails only (not HTML)... only. So it's not bulletproof, and I'm not sure it's worth it.
Even if this client DID use odoo 100%, I still don't think it would be possible to get it to work the way they want without major customizations (eg. Odoo's default behavior is to include all past e-mail threads)
I'm curious if anyone here see's any other solutions, otherwise – I doubt there is something here I haven't seen. :) (But very open to be proven incorrect!)

PHPlist - running it from localhost with tracking via live website

I've got a significantly large mailing list - 50K+ subscribers. To avoid stressing my servers, I would like to avoid sending emails through a components embedded on my website. Sending through here sends the CPU usage through the roof - so I'd like to be able to send emails locally. I can easily send emails through mandrillapp, so sending the emails out is not a problem. However, I've hit a bit of a snag.
Phplist seems to assume it is living on a public site, and inserts tracking info which routes the users to a phplist directory on my site (which obviously) does not exist.
Question 1: First of all, I'd like to avoid embedding this tracking - is this possible? Or else is there someway to include it and avoid the 404 error. Would I have to install phplist anyway on the server?
Question 2: I've already got acymailing to handle unsubscribes, so is it actually possible to keep this in place - just to make sure the acymailing is still my point of reference?
Question 3: How do people handle sending out large mailing lists? I know CampaignMonitor, MailChimp etc, but these get a bit expensive for my situation. I'd like to keep sending "internally" so to speak. Is there an elegant solution which will NOT kill my server but is not too expensive? I know I want to have the cake and eat, but it would be nice to hear what people out there are doing.
TIA
David

Is it possible to track emails to the extent that we get counts for "READ","DELETED","SOFT BOUNCE","HARD BOUNCE"?

The title being self explanatory, i would like to add some points to it.
1.Firstly, is it possible to track all these (READ,DELETED,SOFT BOUNCE,HARD BOUNCE) without using third party API?
2. If no, which third party services provide you the same ?
I am aware about the <img src="send-identifiers-to-this-url-to-track"/>, but this can only get me "No.of Reads/Forwards", but not deleted.
Anybody in for help ?
There are a number of things you can detect with your own software and no third party, though I don't know how they map onto the categories you list:
Tracking images and links, like you said (READ).
No mail server to take the message, e.g There might not be any MX record for the domain or your mailserver IP might be blocked by DNSBL (maybe what you mean by HARD BOUNCE?)
Mail server response codes. This might tell you for example:
Your email was rejected because the mailbox was over capacity etc (probably SOFT BOUNCE)
Rejected because it's spam (probably HARD BOUNCE)
Greylisted or something (probably SOFT BOUNCE)
There is basically nothing you can to detect the difference between unread and deleted messages though. That is also true of third party services. You will not even detect read messages unless your recipient turns on tracking images or clicks on a tracking link.
It's pretty hard to get this information, for instance I had to implement a postfix log analyzer that is mining the bounce information (soft/hard) and the reason why they occured and make it available via API in a structured form.

Is it possible to have some kind of mini app running in an email?

Is it possible to have some kind of mini app running in an email.
When the email arrives the email message should contain static text, but also an interactive component where the user can select attachments, fill out a few fields and hit reply.
Yes, but in limited circumstances. If you are planning for an office intranet all running Open Office/MS Office/Lotus/etc then yes. Otherwise very few mail clients willingly support them across the board. If you don't have control over the client software you should stick to the basics.
To ensure delivery and legibility of the e-mail in all clients I'd send simple message in plain text and HTML format (no external images) with a web URL for user interaction.
I'm sorry, but it's not a good idea at all. It would be classed as a trojan, no?
What if:
client views all emails in plain text
web based email client
platform limitations eg windows app on a linux client
Personally, I'd look at exactly one of your recieved emails and then assign it to my blacklist...
Thankfully no.
But you cold possibly do something like it with html.
Not really, no. It depends too much on the end user email client, and most of them won't handle something like this.
The solution is to send a link to a page that does that.
Formatting wise you can still do a lot of things using HTML and basic CSS.

Making a fax accessible from a ColdFusion Web App

We're programming a Testing Web Application for a University in ColdFusion with a MS SQL Backend.
Right now we have to manually take faxes sent to our fax machine and then find the account they are related to and input the info (the actual fax has to be found in a filing cabinet if we ever need to reference it again). What I would like to do is create a way for someone to fax to a certain number and then the fax be sent to an email account we specify.
If that worked properly we would need a way to get the email, store it somewhere on our servers and then link it to an account. The linking process would probably have to be manual and we are ok with that, but an easy way to view all the faxes sent to that email in our ColdFusion application in PDF form (searchable by the name we assign it) is what we are mainly looking for, so that we don't have to get the faxes on paper and file them by hand.
Is there a way to accomplish this? Preferably not through a paid service as we can program almost anything we need ourselves.
Hmm... have you tried services like eFax?
Why reinvent the wheel? Services like eFax and jConnect (there are several others, just Google "electronic fax service") are affordable and do half of what you are trying to do. Save yourself the effort and just spend a few bucks. You'll probably find out, too, that it will cost you less to just pay for the service than it would cost you to pay the developer to write the software.
So after you bite the bullet and sign up for an electronic faxing service, you just need an email account for it to send to, and to use CFPOP to check the inbox and download the attachments. The rest is a piece of cake.
From the sounds of it, I have built something identical to this faxing setup with Coldfusion.
After a few trials and errors I found best way to go is:
1) DIGITIZE INCOMING FAXES: Have all faxes either sent to an email address you can check via CF, or a network folder you save them on, which you can check with CF. You can absolutely keep your fax number and simply call forward incoming calls to your digital fax number.
2) PROCESS INCOMING FAXES When you find a new fax, it is best to process it and make a record of it. I store things like the file name, dig up the fax number it came from, check it against a list of known numbers, and have a routing table (in case it needs to go to someone).
3) PRINT AND ROUTE FAX Auto printing a document once in CF is possible via CF as well.
As for tables, I keep one to store each fax. I store the fax itself in a blob as well. Easy to replicate and move around, no big performance hit. I keep another table to store a list of incoming number profiles (like a caller ID table) to relate the number to a customer. I keep a table for routing rules, if an email comes from here, send it here. Last, but not least, if you have to manage multiple phone numbers, you can create multiple incoming profiles and file them.
Once you have each fax stored in the DB, you can do a lot with it and file/index/ store it digitally how you like. CFDOCUMENT will display disk based PDFs.
I ended up having to program something like this for custom routing options. It is possible to auto link items to certain files/folders/projects if you like as well with CF.
If you need to know anything else, ask, or we can discuss it off line if you need to keep some details private.
Agree with Adam. Don't create a bunch of problems for yourself - you'll save a lot of money and nerves by just using the existing service.
On the topic: I use Popfax and I kind of like it. It's comfy, gives you opportunities, discounts, contests and a lot of stuff you'd like if you'd be interested in. It's cheap (at least, 100% cheaper than your own software) and you can use it not only on PC, but also via mobile phone