Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
receiving (postfix) emails via (rails) http; using file upload (-F) for less verbose Rails log (otherwise use --data-urlencode)
#!/bin/bash
MAILFILE=/tmp/mail.$$
CURLFILE=/tmp/mail.$$.curl
cat > $MAILFILE
curl -i -F message=@$MAILFILE "http://localhost/incoming_messages" > $CURLFILE
if grep 'HTTP/1.1 204 No Content' $CURLFILE
then
rm -f $CURLFILE $MAILFILE
fi
class IncomingMessagesController < ApplicationController
def create
raw = params[:message].respond_to?(:read) && params[:message].read || params[:message]
mail = Mail.new(raw)
# do stuff
head(:no_content) # bash script will detect 204 and rm -rf tmp files
end
end
mailbox_command = /somewhere/diy.cloudmailin.bash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.