Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
Ben Nadel at CFUNITED 2009 (Lansdowne, VA) with: Mike Oliver
Ben Nadel at CFUNITED 2009 (Lansdowne, VA) with: Mike Oliver

Sending (SMS) Picture Messages With ColdFusion And CFMail

By Ben Nadel on
Tags: ColdFusion

A while back, I talked about sending text messages (SMS messages) to mobile phones using ColdFusion and CFMail. Well, walking down the street today, surrounding by young woman in scantily clad summer outfits, I wondered if the same could be done with picture messages (PIX Messages). At first, I tried to send a picture to my VText email address using ColdFusion's CFMailParam tag (sending the picture as an attachment). The message went through to my phone, but only as text message.

After some Googling, I found out that several phone carriers allow you to send email-based SMS picture messages, but these require different email addresses than the SMS text messages. For Verizon, my cellular carrier, text messages get send to, but PIX messages need to be sent to Here are the SMS picture message emails for some of the more popular carriers:

AT&T Wireless





Equip with this new knowledge, sending the PIX message was quite easy:

  • <!---
  • Send the pix message. This will send the text
  • message in the CFMailPart in addition to the image.
  • --->
  • <cfmail
  • to=""
  • from=""
  • subject="Have fun at CFUNITED!">
  • <!--- Send text message. --->
  • <cfmailpart type="text/plain">Have Fun!</cfmailpart>
  • <!--- Send image as attachment. --->
  • <cfmailparam
  • file="#ExpandPath( './beach_girls_640_480_at_30.jpg' )#"
  • type="image/jpg"
  • />
  • </cfmail>

PIX messages can send both a picture and a text message at the same time. In the above code, notice that I am using the CFMailPart to sent the text message in addition to the CFMailParam tag to send the image as an attachment. I, of course, can only test this on Verizon Wireless, but I assume the technology is pretty uniform across the different carriers.

If you look at the image that I am attaching, you might have noticed that it contains "640_480" and ends with "at_30". The first part is the image dimensions that I am using. My LG Verizon cell phone can handle image dimensions up to 640 x 480 pixels. To maximize the image quality, I am going to use the largest dimensions possible. The ending part of the file name, "at_30", is the JPEG compression that I was using. Compression is a funny thing when it comes to cell phones; it's counterintuitive. Normally, a 30 compression is horrible! Look at the beach girls image at quality-30 compression at normal size:


 Beach Girls At 30 Quality Compression  

As you can see, this compression has taken something beautiful and made it ugly. Your gut tells you to use something more standard, like a quality-80 compression:


 Beach Girls At 80 Quality Compression  

Clearly, a much nicer and more satisfying image. But, what we forget is that most cell phones (unless you have one of those really nice ones) have crap resolutions; image quality is really poor no matter what. In fact, when I send a 30 and an 80 quality compression image to my cell phone, they look exactly the same. The only difference becomes file size. The 30-quality image above is 12 Kb. The 80-quality image is a whopping 53 Kb. And, since most cell phones have limited storage capacity, you are going to want to optimize file size as much as possible.

Just a final note, PIX messages are much more expensive than text messages (not for any sort of technology reasons - just cause they say so), so don't go crazy emailing images to people.

Reader Comments

Me and my girlfriends are never going to the beach with again. How dare you post our pic on the web. BTW, we really had a good time especially back at the bungalow.

That's lame. Stupid cellular carriers with their restrictions. Why can't they just let us use their service, no hassles.


It's possible that the number has been changed; it's also possible that is being blocked however you are trying to do it.

MY BAD! IS correct ... but, ONLY from pic taken W/ a cell -- NOT as attachment in an email ... (took ~4 min. for it to arrive ... then would NOT DL to my cell)