Rails, configurazione base di ActionMailer


Mandare email con rails è semplice grazie al modulo ActionMailer.

Una configurazione base del modulo da inserire nel file config/environments/production.rb per mandare mail in ambiente di produzione è:

config.action_mailer.smtp_settings = {
  :address => "domain.of.smtp.host.net",
  :port => 25,
  :domain => "domain.of.sender.net",
  :user_name => "user",
  :password => "password",
  :authentication => :login,
  :enable_starttls_auto => false
}

dove:

:address =>, :port =>
determinano l’indirizzo e la porta del server SMTP utilizzato per inviare le emails (di default impostati a localhost e 25)
:domain =>
il dominio utilizzato dal mailer per identificarsi al server SMTP. Normalmente viene usato il top-level domain name della macchina che manda le email, ma dipende anche dalla configurazione del server SMTP
:authentication =>
il valore può essere: :plain, :login o :cram_md5. Per scegliere il giusto valore da assegnare alla configurazione bisogna conoscere le impostazioni del server SMTP. Il parametro può essere omesso per server SMTP che non necessitano autenticazione (nel qual caso saranno inutili anche i parametri :user_name e :password)
:user_name =>, :password =>
nome utente e password di autenticazione al server SMTP
:enable_starttls_auto =>
dalla versione 2.3 di rails ActionMailer cerca di stabilire in modo automatico una connessione al server attraverso il protocollo tls (Transport Layer Security), questo parametro ci permette di modificare il comportamento di default di ActionMailer (https://rails.lighthouseapp.com/projects/8994/tickets/1731-make-enable_starttls_auto-opt-in-in-actionmailer)

Posted in Ruby | Tagged , , , , , | Leave a comment

Generatore di immagini


Non è il massimo della creatività, ma può essere utile per prove o test: http://dummyimage.com/

Per usare il servizio basta scrivere subito dopo il dominio le dimensioni dell’immagine che vogliamo generare nella forma:

<larghezza>x<altezza>.<formato>

dove <larghezza> e <altezza> sono composti da caratteri numerici e <formato> (opzionale) è un formato di immagine compatibile per il web (gif, jpg, png, ecc.).

Esempio:
http://dummyimage.com/640×480.png

Posted in Information Technology | Tagged , | Leave a comment

Risolvere un nome host da un indirizzo IP in Ruby


Ecco un altro promemoria: come risolvere un nome host da un indirizzo IP in Ruby.

Per eseguire l’operazione viene in nostro aiuto la class Resolv.

Esempio (usando Rails):

hostname = Resolv.new.getname(request.env['REMOTE_ADDR'])

Risorse utili:
http://ruby-doc.org/stdlib/libdoc/resolv/rdoc/index.html

Posted in Ruby | Tagged , , , , | Leave a comment

URL escaping in Ruby con CGI::escape


E’ da un po’ che non scrivo ed ecco un piccolo aggiornamento.

Parliamo di URLs e dei caratteri ammessi in questo tipo di oggetti. Il documento RFC 1738 del ‘94 prevede solo alcuni caratteri per l’identificazione di URLs:

only alphanumerics, the special characters “$-_.+!*’(),”, and reserved characters used for their reserved purposes may be used unencoded within a URL.

Per eseguire questa operazione di escaping Ruby offre una semplice funzione di libreria:

CGI::escape

Esempio:

url_encoded_string = CGI::escape("'Stop!' said Fred")
     # => "%27Stop%21%27+said+Fred"

Per maggiori informazioni:
http://ruby-doc.org/core/classes/CGI.html#M000532

Posted in Ruby | Tagged , , , , | Leave a comment

Alimentatore MacBook Pro su MacBook e viceversa… funziona!

Ok, l’ho provato e sembra funzionare… l’alimentatore del MacBook carica anche la batteria del MacBook Pro! Yo!

Cosa si dice in giro:

  1. Using MacBook Power Adapter on MacBook Pro
  2. Macbook pro charger vs macbook charger

Ma ecco cosa dice Apple:

Important: Use only the power adapter that came with your MacBook Pro computer. Adapters for other electronic devices (including other portable computers) may look similar, but they may affect your computer’s performance or damage it. For best results, always use the power adapter and connect it to a grounded power outlet when one is available. When the adapter is connected properly, you will see an indicator light on the end of the cable that connects to your MacBook Pro.

Più informazioni qui:

Posted in Uncategorized | Leave a comment

Waveform, mp3 to png


Waveform è una piccola applicazione rails per visualizzare la forma d’onda (waveform) di un file audio in formato mp3.

Si accede all’indirizzo http://waveform.focustheweb.com.

Come usare l’applicazione:

  1. selezionare il file mp3 dall’hd
  2. premere il pulsante “Create”

dopo pochi secondi, nella lista degli ultimi dieci uploads, comparirà una nuova riga in corrispondenza del file appena caricato con una piccola anteprima della forma d’onda.

Posted in Ruby | Tagged , , , , , | Leave a comment

Phusion Passenger Rails deployment (mod_rails server HTTP Apache 2)


passengerPhusion Passenger (o mod_rails) è un modulo per server Apache2 o nginx usato per il deployment di applicazioni Ruby, incluse quelle basate sul framework Rails.

L’installazione è semplice:

  1. installiamo la gemma corrispondente
    gem install passenger
  2. eseguiamo il comando
    passenger-install-apache2-module

    per installare il modulo per server Apache 2 oppure

    passenger-install-nginx-module

    per installare il modulo per server nginx

Read More »

Posted in Ruby | Tagged , , , , | Leave a comment

Autenticazione, Autorizzazione e Controllo degli Accessi in Apache HTTP Server


Per controllare l’accesso ad una cartella del nostro HTTP server e ai documenti in essa contenuti possiamo usare un metodo di autenticazione messo a disposizione da Apache.

In nostro aiuto vengono due moduli: mod_auth e mod_auth_digest.

Il primo è supportato dalla maggior parte dei browser, ma ha lo svantaggio di trasmettere la password di autenticazione in chiaro nella rete ed è per questo sconsigliato per proteggere documenti contenti dati sensibili.

Il secondo metodo è più sicuro, ma viene supportato da un numero inferiore di clients rispetto a mod_auth.
Read More »

Posted in Programmazione | Tagged , , , | Leave a comment