Web2py-이메일 및 SMS

web2py는 사용자에게 이메일과 SMS를 보내는 기능을 포함합니다. 라이브러리를 사용하여 이메일과 SMS를 보냅니다.

이메일 설정

내장 클래스 즉 gluon.tools.Mail클래스는 web2py 프레임 워크에서 이메일을 보내는 데 사용됩니다. 이 클래스로 메일러를 정의 할 수 있습니다.

from gluon.tools import Mail
mail = Mail()
mail.settings.server = 'smtp.example.com:25'
mail.settings.sender = '[email protected]'
mail.settings.login = 'username:password'

위의 예에서 언급 한 발신자 이메일과 비밀번호는 이메일이 전송 될 때마다 인증됩니다.

사용자가 디버깅 목적으로 실험하거나 사용해야하는 경우 다음 코드를 사용하여 수행 할 수 있습니다.

mail.settings.server = 'logging'

이제 모든 이메일이 전송되지는 않지만 콘솔에 기록됩니다.

이메일 보내기

메일 개체를 사용하여 이메일에 대한 구성 설정을 지정하면 이메일을 많은 사용자에게 보낼 수 있습니다.

완전한 구문 mail.send() 다음과 같습니다-

send(
   to, subject = 'Abc',
   message = 'None', attachments = [],
   cc = [], bcc = [], reply_to = [],
   sender = None, encoding = 'utf-8',
   raw = True, headers = {}
)

구현 mail.send() 아래에 주어진다.

mail.send(
   to = ['[email protected]'], subject = 'hello',
   reply_to = '[email protected]',
   message = 'Hello ! How are you?'
)

Mail최종 사용자가 메일을 수신 한 메일 링 서버의 응답에 따라 부울 표현식을 반환합니다. 그것은 반환True 사용자에게 이메일 전송에 성공한 경우.

속성, ccbcc 메일을 보낼 유효한 이메일 주소 목록을 포함합니다.

SMS 보내기

SMS 메시지를 전송하기위한 구현은 수신자에게 메시지를 릴레이 할 수있는 타사 서비스가 필요하기 때문에 web2py 프레임 워크에서 이메일을 전송하는 것과 다릅니다. 제 3 자 서비스는 무료 서비스가 아니며 지리적 지역 (국가별로)에 따라 분명히 다릅니다.

web2py는 모듈을 사용하여 다음 프로세스를 통해 SMS를 전송합니다.

from gluon.contrib.sms_utils
import SMSCODES, sms_email
email = sms_email('1 (111) 111-1111','T-Mobile USA (abc)')
mail.send(to = email, subject = 'test', message = 'test')

위의 예에서 SMSCODES 주요 전화 회사의 이름을 이메일 주소 접미사에 매핑하는 web2py에서 관리하는 사전입니다.

전화 회사는 일반적으로 타사 서비스에서 발생하는 이메일을 스팸으로 취급합니다. 더 나은 방법은 전화 회사가 직접 SMS를 중계하는 것입니다. 모든 전화 회사는 저장소에있는 모든 휴대폰 번호에 대해 고유 한 이메일 주소를 포함하고 있으며 SMS를 이메일로 직접 보낼 수 있습니다.

위의 예에서

  • 그만큼 sms_email 함수는 전화 번호 (문자열)를 받아 전화의 이메일 주소를 반환합니다.

  • 스캐 폴딩 앱에는 여러 파일이 포함되어 있습니다. 그중 하나는 models / db.py로 4 개를 가져옵니다.

  • 수업 gluon.tools 메일 라이브러리도 포함하고 다양한 전역 개체를 정의합니다.

  • 스캐 폴딩 애플리케이션은 다음과 같이 auth 개체에 필요한 테이블도 정의합니다. db.auth_user. 기본 스캐 폴딩 애플리케이션은 모듈식이 아니라 파일 수를 최소화하도록 설계되었습니다. 특히 모델 파일은db.py에는 프로덕션 환경에서 별도의 파일에 가장 잘 보관되는 구성이 포함됩니다.

여기에서 구성 파일을 만드는 것이 좋습니다.

from gluon.storage import Storage
   settings = Storage()
   settings.production = False
   
   if
      settings.production:
      settings.db_uri = 'sqlite://production.sqlite'
      settings.migrate = False
   else:
      settings.db_uri = 'sqlite://development.sqlite'
      settings.migrate = True
      settings.title = request.
      settings.subtitle = 'write something here'
		
      settings.author = 'you'
      settings.author_email = '[email protected]'
		
      settings.keywords = ''
      settings.description = ''
      settings.layout_theme = 'Default'
      settings.security_key = 'a098c897-724b-4e05-b2d8-8ee993385ae6'
		
      settings.email_server = 'localhost'
      settings.email_sender = '[email protected]'
      settings.email_login = ''
		
      settings.login_method = 'local'
      settings.login_config = ''