· 7 years ago · Nov 20, 2018, 07:50 PM
1String destinatario = "detinatario@gmail.com";
2 String asunto = "Correo de prueba enviado desde Java";
3 String cuerpo = "Esta es una prueba de correo...";
4@RequestMapping(value = "/registro", method = RequestMethod.POST)
5 public String registroPost(@RequestParam("alias") String alias,
6 @RequestParam("contrasena") String contrasena,
7 @RequestParam("nombre") String nombre,
8 @RequestParam("primerApellido") String primerApellido,
9 @RequestParam("segundoApellido") String segundoApellido,
10 @RequestParam("telefono") String telefono,
11 @RequestParam("email") String email,
12 @RequestParam("sexo") String sexo,
13 ModelMap m) {
14
15
16 Rol rolPorDefecto = (Rol) repoRol.getDefaultRol();
17 Usuario u = new Usuario(alias, contrasena, nombre, primerApellido, segundoApellido, telefono, email, sexo, rolPorDefecto);
18 try {
19 if (repoUsuario.datosPerfil(alias) != null) {
20 m.put("view", "/_t/error");
21 }
22 } catch (Exception e) {
23 m.put("alias", alias);
24 m.put("view", "/usuario/crearPost");
25 repoUsuario.save(u);
26
27 }
28 return "views/_t/main";
29 }
30
31package com.example.demo.domain;
32
33import java.util.Collection;
34import java.util.Properties;
35
36import javax.mail.Message;
37import javax.mail.MessagingException;
38import javax.mail.Session;
39import javax.mail.Transport;
40import javax.mail.internet.InternetAddress;
41import javax.mail.internet.MimeMessage;
42import javax.persistence.Column;
43import javax.persistence.Entity;
44import javax.persistence.GeneratedValue;
45import javax.persistence.Id;
46import javax.persistence.ManyToOne;
47import javax.persistence.OneToMany;
48
49import com.example.demo.domain.Post;
50
51@Entity
52public class Usuario {
53
54 @Id
55 @GeneratedValue
56 private Long id;
57
58 @Column(unique=true)
59 private String alias;
60
61 private String contrasena;
62 private String nombre;
63 private String primerApellido;
64 private String segundoApellido;
65 private String telefono;
66 private String email;
67 private String sexo;
68 @Column(length=5000)
69 private String foto;
70
71 @OneToMany(mappedBy="PostSuyo")
72 private Collection<Post> Post;
73
74 public String getPrimerApellido() {
75 return primerApellido;
76 }
77
78 public void setPrimerApellido(String primerApellido) {
79 this.primerApellido = primerApellido;
80 }
81
82 public String getSegundoApellido() {
83 return segundoApellido;
84 }
85
86 public void setSegundoApellido(String segundoApellido) {
87 this.segundoApellido = segundoApellido;
88 }
89
90 @ManyToOne
91 private Rol nombre_rol;
92
93 public Usuario(){
94 super();
95 }
96
97 public Usuario(String alias, String contrasena, String nombre, String primerApellido, String segundoApellido, String telefono, String email, String sexo, Rol nombre_rol) {
98 super();
99 this.alias = alias;
100 this.contrasena = contrasena;
101 this.nombre = nombre;
102 this.primerApellido = primerApellido;
103 this.segundoApellido = segundoApellido;
104 this.telefono = telefono;
105 this.email = email;
106 this.sexo = sexo;
107 this.nombre_rol = nombre_rol;
108 nombre_rol.getRol().add(this);
109 }
110
111 public Long getId() {
112 return id;
113 }
114
115 public void setId(Long id) {
116 this.id = id;
117 }
118
119 public String getAlias() {
120 return alias;
121 }
122
123 public void setAlias(String alias) {
124 this.alias = alias;
125 }
126
127 public String getContrasena() {
128 return contrasena;
129 }
130
131 public void setContrasena(String contrasena) {
132 this.contrasena = contrasena;
133 }
134
135 public String getNombre() {
136 return nombre;
137 }
138
139 public void setNombre(String nombre) {
140 this.nombre = nombre;
141 }
142
143 public String getSexo() {
144 return sexo;
145 }
146
147 public void setSexo(String sexo) {
148 this.sexo = sexo;
149 }
150
151 public Collection<Post> getPost() {
152 return Post;
153 }
154
155 public void setPost(Collection<Post> post) {
156 Post = post;
157 }
158
159 public Rol getNombre_rol() {
160 return nombre_rol;
161 }
162
163 public void setNombreRol(Rol nombre_rol) {
164 this.nombre_rol = nombre_rol;
165 }
166
167 public String getEmail() {
168 return email;
169 }
170
171 public void setEmail(String email) {
172 this.email = email;
173 }
174
175 public String getTelefono() {
176 return telefono;
177 }
178
179 public void setTelefono(String telefono) {
180 this.telefono = telefono;
181 }
182
183 public String getFoto() {
184 return foto;
185 }
186
187 public void setFoto(String foto) {
188 if("".equals(foto)){
189 this.foto = null;
190 }else{
191 this.foto = foto;
192 }
193 }
194
195 public void enviarConGMail(String destinatario, String asunto, String cuerpo) {
196 // Esto es lo que va delante de @gmail.com en tu cuenta de correo. Es el remitente también.
197 String remitente = "remitente@gmail.com"; //Para la dirección nomcuenta@gmail.com
198 String clave = "passwordremitente";
199
200 Properties props = System.getProperties();
201 props.put("mail.smtp.host", "smtp.gmail.com"); //El servidor SMTP de Google
202 props.put("mail.smtp.user", remitente);
203 props.put("mail.smtp.clave", clave); //La clave de la cuenta
204 props.put("mail.smtp.auth", "true"); //Usar autenticación mediante usuario y clave
205 props.put("mail.smtp.starttls.enable", "true"); //Para conectar de manera segura al servidor SMTP
206 props.put("mail.smtp.port", "587"); //El puerto SMTP seguro de Google
207
208 Session session = Session.getDefaultInstance(props);
209 MimeMessage message = new MimeMessage(session);
210
211 try {
212
213 message.setFrom(new InternetAddress(remitente));
214 message.addRecipients(Message.RecipientType.TO, destinatario); //Se podrÃan añadir varios de la misma manera
215 message.setSubject(asunto);
216 message.setText(cuerpo);
217 Transport transport = session.getTransport("smtp");
218 transport.connect("smtp.gmail.com", remitente, clave);
219 transport.sendMessage(message, message.getAllRecipients());
220 transport.close();
221 }
222 catch (MessagingException me) {
223 me.printStackTrace(); //Si se produce un error
224 }
225 }
226
227
228}