import sys
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
msg = MIMEMultipart()
msg['Subject'] = 'Тема письма'
msg['From'] = 'sender@mail.ru'
part = MIMEText('Текст письма\n')
msg.attach(part)
part = MIMEApplication(open('image.jpg', 'rb').read())
part.add_header('Content-Disposition', 'attachment', filename='image.jpg')
msg.attach(part)
server = smtplib.SMTP('smtp.mail.ru:587')
server.ehlo()
server.starttls()
server.login('sender@mail.ru', 'password')
server.sendmail(msg['From'], ['recipient@mail.ru'], msg.as_string())
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
Options +ExecCGI
AddHandler wsgi-script .wsgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /site.wsgi/$1 [QSA,PT,L]
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
...
<form:form modelAttribute="formData" method="post">
<c:forEach items="${formData.sprints}" var="sprint" varStatus="status">
<input type="text" name="sprints[${status.index}]['name']" placeholder="Name"></td><br>
<input type="text" name="sprints[${status.index}]['phone']" placeholder="Phone"><br>
<input type="text" name="sprints[${status.index}]['email']" placeholder="E-Mail"><br>
</c:forEach>
<input type="submit" value="Сохранить">
</form:form>
public class SprintsForm {
private List<Map<String, String>> sprints;
public List<Map<String, String>> getSprints() {
return sprints;
}
public void setSprints(List<Map<String, String>> sprints) {
this.sprints = sprints;
}
}
@Controller
@RequestMapping("/")
public class FormController {
@RequestMapping(method = RequestMethod.GET)
public ModelAndView showForm() {
SprintsForm formData = new SprintsForm();
return new ModelAndView("form" , "formData", formData);
}
@RequestMapping(method = RequestMethod.POST)
public ModelAndView handleForm(@ModelAttribute SprintsForm formData, BindingResult result) {
if (result.hasErrors())
return new ModelAndView("form", "formData", formData);
...
}
}
async def consumer_handler(websocket, path):
while True:
message = await websocket.recv()
# делаем что-нибудь с сообщением от клиента
async def producer_handler(websocket, path):
while True:
data = await BSession.GetData()
if data:
await websocket.send(data)
async def handler(websocket, path):
consumer_task = asyncio.ensure_future(consumer_handler(websocket))
producer_task = asyncio.ensure_future(producer_handler(websocket))
done, pending = await asyncio.wait(
[consumer_task, producer_task],
return_when=asyncio.FIRST_COMPLETED,
)
for task in pending:
task.cancel()
loop = asyncio.get_event_loop()
loop.run_until_complete(websockets.serve(handler, 'localhost', 8765))
loop.run_forever()
@Controller
public class SomeController {
@RequestMapping(value = "/some-url/{someParam}", method = RequestMethod.GET)
public String someMethod(@PathVariable String someParam, Model model, HttpServletResponse response) {
return "some_template_name";
}
}