Die E -Mail -Betriebsklasse wurde im Frühjahr eingekapselt, und die Federkonfigurationsdatei kann leicht in Controller, Aktionen und andere Stellen injiziert werden.
Hier ist die Konfiguration:
<!-Mail-Absender-> <bean id = "mailSender" p: host = "$ {mail.host}" p: port = "$ {mail.port}" p: userername = "$ {mail.user}" p: password = "$ {mail.passwd}"> </bean>
E -Mail -Konfiguration
E -Mail -Konfiguration: mail.host = SMTP.163.com Mail.port = 25 [email protected] mail.passwd = xxxxxxx mail.from=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX@163.com
Mailsender in den Controller injizieren:
@Controller Public Class EmailController {private MailSender MailSender; @Value ("$ {mail.from}") String -E -MailFrom; @Autowired public void setmailsender (MailSender Mailsender) {this.mailsender = mailsender; } @RequestMapping (value = "/sendEmail", method = requestMethod.post) public modelAndView sendemail (@ModelAttribute ("newemail") contactemail newemail, BindingResult BindResult, SessionStatus -Status) {SimpleMailMessage Message = new SimplesMailMessage (); message.setto (newemail.getto ()); Message.SetFrom (E -MailFrom); Message.Setsubject (newemail.getSubject ()); message.setText (newemail.getContent ()); String result = ""; try {mailSender.send (message); result = "E -Mail wurde gesendet!"; } catch (mailException e) {result = "Senden von E -Mails fehlgeschlagen! <br/> <hr/>"+e.getMessage (); } ModelAndView view = new ModelAndView ("E -MailResult"); view.addObject ("Ergebnis", Ergebnis); Rückblick; }}Postformular:
<Form: Form action = "sendEmail.do" methode = "post" commandname = "newemail"> <div> <p> bis: <Form: Eingabepfad = "zu" csStyle = "width: 260px;"/> <Form: fehlerpfad = "to" csSstyle = "color: rot; csSstyle = "width: 260px;"/> <Form: fehlerspath = "Betreff" csSstyle = "Farbe: rot;"/> </p> <p> Inhalt: <Form: textArea path = "content" rows = "5" cols = "60"> </Form: textarea> <Br/> <Form: rot. <p> <Eingabe type = "subieren" value = "bestätigen und senden"/> </p> </div> </Form: Form>
Senden Sie E -Mails mit Anhängen:
Versuchen Sie {JavamailSenderImpl SENTERIMPL = New JavamailSenderImpl (); Eigenschaften props = neue Eigenschaften (); props.put ("mail.smtp.auth", "true"); SENTERIMPL.SETHOST ("SMTP.163.com"); SENTERIMPL.SETUSERNAME ("Zhangfl85"); SENTERIMPL.SETPASSWORD ("851010"); SENTERIMPL.SETJAVAMailProperties (Requisiten); Mimemessage Mimemessge = SENTERImpl.CreateMimememessage (); MimemessageHelper MimemessageHelper = neuer MimemessageHelper (Mimemessge, wahr); mimemessageHelper.setto ("[email protected]"); mimemessageHelper.setfrom ("[email protected]"); MimemessageHelper.setsubject ("Anhangstest hinzufügen"); MimemessageHelper.setText ("test", true); DateiSystemResource img = new FileSystemResource (neue Datei ("i: /liang.jpg"); mimemessageHelper.addattachment (mimeutility.encodeWord ("3M Beispiel Warehouse Standard -Lieferauftragsvorlage.JPG") ,, IMG); SenderImpl.Send (Mimemessge); } catch (Ausnahme e) {e.printstacktrace (); }