Функциональность почты с использованием OPA - PullRequest
0 голосов
/ 23 сентября 2011
import stdlib.web.mail

from = {name="name" address={local="username" domain="gmail.com"}}
to = {name="name" address={local="username" domain="gmail.com"}}

r = Email.try_send(from, to, "Subject", {text = "This is Great!"})

server = Server.one_page_server("Mail", [], [], r)

следующая ошибка, которую я получаю

Error
File "mail.opa", line 6, characters 4-66, (6:4-6:66 | 166-228)
Function was found of type
Email.email, Email.email, string, Email.content -> Email.send_status but
application expects it to be of type
{ address: { domain: string; local: string } / 'c.b; name: string } / 'c.a,
{ address: { domain: string; local: string } / 'c.d; name: string } / 'c.c,
string, { text: string } / 'c.e -> 'a.
Types string and { none } / { some: string } are not compatible
Hint:
  Error occurred through field name.

Может кто-нибудь помочь мне с функциональностью почты в Opa?

1 Ответ

2 голосов
/ 23 сентября 2011

Существует ряд проблем с этим кодом:

  • Обратите внимание, что в Email.email введите поле name необязательно;поэтому, если вы хотите включить его, вы должны предоставить some("name"), а не просто "name"
  • Server.one_page_server содержит 2 аргумента, а не 4.
  • Последний аргументone_page_server должен быть xhtml страницы, тогда как ваш r является результатом отправки электронного письма.

После этих исправлений ваш код может выглядеть примерно так:

import stdlib.web.mail

from = {name=some("name") address={local="username" domain="gmail.com"}} : Email.email
to = {name=some("name") address={local="username" domain="gmail.com"}} : Email.email

page() =
  status = Email.try_send(from, to, "Subject", {text = "This is Great!"})
  <>Email sent</>

server = Server.one_page_server("Mail", page)
...