Form e mail

ciao ragazzi vi premetto che ho iniziato da poco a vedere un po come
funziona Rails vi volevo chiedere se mi potevate dare un dritta.
Io ho creato un form dove un utente si puo inscrivere ad un corso di
formazione, e vorrei che una volta avvenuta l’inscrione gli viene
mandato un mail di conferma con dentro ad esempio tutti i dati dove si
trova il corso ecc…
grazie mille ragazzi
ciao
lore

ciao ragazzi scusate non voglio essere insistente magari riprovo a
formulare la domanda
io ho creato la struttura con lo scaffold dove mi viene fuori il form
nome cognome professione ed email, a questo punto un utente si iscrive
compilando questo form e una volta avvenuta l’iscrizione dovrebbe
ricevere l’emeil di notifica
io so che devo crearlo con actionMailer ma non capisco se devo
configurare qualcosa, io sto utilizzando leopard
scusate di nuovo ma mi devo sbloccare
buon giornata a tutti
lore

Ciao Lorenzo

Prova cosi’:

#Â in app/controller/user_controller.rb
class UsersController < ApplicationController

def register
@user = User.new(params[:user])
@user.status = User::STATUS_REGISTERED
@user.password, @user.password_confirmation = params[:password],
params[:password_confirmation]
token = Token.new(:user => @user, :action => “register”)
if @user.save and token.save
MailSystem.deliver_register(token)
flash[:notice] = “Registrazione effettuata: riceverai una mail con
le istruzioni”
redirect_to :action => ‘login’
else
#Â flash[:error] = …
end
end

Token based account activation

def activate
token = Token.find_by_action_and_value(‘register’, params[:token])
redirect_to(home_url) && return unless token and !token.expired?
user = token.user
user.status = User::STATUS_ACTIVE
if user.save
token.destroy
flash[:notice] = “Ora puoi accedere al sito”
end
redirect_to :action => ‘login’
end

#Â … altri metodi
end

#Â in app/models/mail_system.rb
class MailSystem

def register(token)
recipients token.user.mail
subject “Mail di conferma”
body :token => token,
:url => url_for(:controller => ‘account’, :action =>
‘activate’, :token => token.value)
end

end

#Â in app/views/mail_system/register.html.erb

Benvenuto sul nostro sito.
Clicca sul link che segue per completare la registrazione.

<%= auto_link(@url) %>

E scusaci per il ritardo :slight_smile:

dimenticavo:

class MailSystem < ActionMailer::Base

ciao grazie mille della risposta immediata,stavo notando che i metodi
che mi hai scritto e per login e password, lo posso utlizzare anche per
semplice iscrizione ad un corso dove non serve neache attivare l’account
ma sul emil di conferma dice solo dove si trova il corso
ma per testare il tutto in locale c’è la possibilità ?
scusate ma sono imbranato con programmazione e ho il kaos in testa
grazie

Per dettagli, guardati questo:

Lorenzo Ferracuti wrote:

ciao grazie mille della risposta immediata

lol

stavo notando che i metodi
che mi hai scritto e per login e password, lo posso utlizzare anche per
semplice iscrizione ad un corso dove non serve neache attivare l’account
ma sul emil di conferma dice solo dove si trova il corso
ma per testare il tutto in locale c’è la possibilità ?
scusate ma sono imbranato con programmazione e ho il kaos in testa
grazie

Vuoi soltanto notificare all’utente via mail la sua avvenuta iscrizione
al corso?

Allora diventa molto piu’ semplice:

in app/controller/user_controller.rb

class CourseController < ApplicationController

def register
# registra l’utente al corso
# magari con qualcosa di simile:
user = User.find(params[:user])
course = Course.find(params[:id])
course.users << user

# e qui mandi la mail
MailSystem.deliver_registeration(user, course)

flash[:notice] = "Registrazione effettuata: riceverai una mail con 

le istruzioni etc etc"
end

end

in app/models/mail_system.rb

class MailSystem < ActionMailer::Base

def registeration(user, course)
recipients user.mail
subject “Sei registrato al nuovo corso etc etc”
body :user => user, :course => course
end

end

in app/views/mail_system/registeration.html.erb

Benvenuto al nuovo corso..

Qui puoi scrivere tutto quello che vuoi che appaia nella mail:
indirizzo del luogo dove si terra’ il corso, orari, etc.
utilizzando magari informazioni dagli oggetti @course e @user
come in questo saluto:

Ciao <%= @user.name %>,

ciao grazie mille per l’aiuto che mi stai dando ma vi vorrei chidere un
ultima cosa per adesso sembra che nn mi sta dando nessun errore anche
inserendo la parte di actionmail
ma come potrei testare se funziona in locale stavo vedendo nel libro
“svillupare applicazioni web con rails” che mi parla di libreria Tmail
ma non capito bene come funziona e anche di test funzionali
mi sapreste dir qualcosa come muovermi
grazie mille per l’aiuto vi chideo quest’ultima dritta
ciao