-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_email.py
More file actions
54 lines (44 loc) · 1.69 KB
/
test_email.py
File metadata and controls
54 lines (44 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import os
import django
import sys
# Set up Django environment
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'amc_tracker.settings')
django.setup()
from django.core.mail import send_mail
from django.conf import settings
import logging
# Set up logging
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger('django.request')
def test_email(recipient_email=None):
try:
if not recipient_email:
recipient_email = input("Enter recipient email address: ")
# Print settings for verification
print(f"Using SendGrid API Key: {settings.SENDGRID_API_KEY[:10]}...{settings.SENDGRID_API_KEY[-10:]}")
print(f"Sandbox Mode: {settings.SENDGRID_SANDBOX_MODE_IN_DEBUG}")
print(f"Default From Email: {settings.DEFAULT_FROM_EMAIL}")
print(f"Email Backend: {settings.EMAIL_BACKEND}")
# Send a test email
subject = 'AMC Tracker - Test Email'
message = 'This is a test email from AMC Tracker application to verify SendGrid integration.'
from_email = settings.DEFAULT_FROM_EMAIL
recipient_list = [recipient_email]
print(f"Sending email to: {recipient_list}")
# Attempt to send the email
result = send_mail(
subject,
message,
from_email,
recipient_list,
fail_silently=False,
)
print(f"Email send result: {result}")
return result
except Exception as e:
print(f"Error sending email: {str(e)}")
logger.exception("Error in test_email")
return False
if __name__ == "__main__":
test_email()