saifisvibin commited on
Commit
493ea13
·
1 Parent(s): bfdf549

Add customizable sender name for emails - shows in recipient inbox instead of default

Browse files
backend/routers/email.py CHANGED
@@ -233,6 +233,7 @@ async def send_emails(
233
  event_name: str = Form(""),
234
  event_date: str = Form(""),
235
  client_company: str = Form(""),
 
236
  name_color: str = Form("#000000"),
237
  font_size: int = Form(60),
238
  x: float = Form(None),
@@ -282,7 +283,7 @@ async def send_emails(
282
  template_bytes,
283
  subject,
284
  body,
285
- FROM_EMAIL,
286
  SENDGRID_API_KEY,
287
  name_column,
288
  email_column,
 
233
  event_name: str = Form(""),
234
  event_date: str = Form(""),
235
  client_company: str = Form(""),
236
+ sender_name: str = Form("Volaris Team"), # Custom sender name for email display
237
  name_color: str = Form("#000000"),
238
  font_size: int = Form(60),
239
  x: float = Form(None),
 
283
  template_bytes,
284
  subject,
285
  body,
286
+ f"{sender_name} <{FROM_EMAIL}>" if sender_name else FROM_EMAIL, # Format as "Name <email>"
287
  SENDGRID_API_KEY,
288
  name_column,
289
  email_column,
frontend/src/components/ReviewSendStep.jsx CHANGED
@@ -10,6 +10,7 @@ const ReviewSendStep = ({ fileData, designParams, mappings, onBack }) => {
10
  const [subject, setSubject] = useState("Your Attendance Certificate - {event_name}_{event_date}");
11
  const [body, setBody] = useState("Dear Dr {first_name},\n\nThank you for attending {event_name}.\n\nYour certificate is attached.\n\nBest Regards,\n\nVolaris Team on behalf of {client_company}");
12
  const [fromEmail, setFromEmail] = useState("");
 
13
  const [sending, setSending] = useState(false);
14
  const [status, setStatus] = useState(null);
15
  const [progress, setProgress] = useState(null);
@@ -44,6 +45,7 @@ const ReviewSendStep = ({ fileData, designParams, mappings, onBack }) => {
44
  formData.append("event_name", eventName);
45
  formData.append("event_date", eventDate);
46
  formData.append("client_company", clientCompany);
 
47
 
48
  formData.append("name_color", designParams.name_color);
49
  formData.append("font_size", designParams.font_size);
@@ -175,6 +177,17 @@ const ReviewSendStep = ({ fileData, designParams, mappings, onBack }) => {
175
  </h3>
176
 
177
  <div className="space-y-4">
 
 
 
 
 
 
 
 
 
 
 
178
  <div>
179
  <label className="block text-xs font-medium text-gray-700 mb-1">Sender Email</label>
180
  <div className="w-full border border-gray-200 rounded-lg p-3 bg-gray-50 text-gray-700 font-medium">
 
10
  const [subject, setSubject] = useState("Your Attendance Certificate - {event_name}_{event_date}");
11
  const [body, setBody] = useState("Dear Dr {first_name},\n\nThank you for attending {event_name}.\n\nYour certificate is attached.\n\nBest Regards,\n\nVolaris Team on behalf of {client_company}");
12
  const [fromEmail, setFromEmail] = useState("");
13
+ const [senderName, setSenderName] = useState("Volaris Team");
14
  const [sending, setSending] = useState(false);
15
  const [status, setStatus] = useState(null);
16
  const [progress, setProgress] = useState(null);
 
45
  formData.append("event_name", eventName);
46
  formData.append("event_date", eventDate);
47
  formData.append("client_company", clientCompany);
48
+ formData.append("sender_name", senderName);
49
 
50
  formData.append("name_color", designParams.name_color);
51
  formData.append("font_size", designParams.font_size);
 
177
  </h3>
178
 
179
  <div className="space-y-4">
180
+ <div>
181
+ <label className="block text-xs font-medium text-gray-700 mb-1">Sender Name</label>
182
+ <input
183
+ type="text"
184
+ className="w-full border border-gray-300 rounded-lg p-3 text-gray-900 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"
185
+ placeholder="e.g., Volaris Team"
186
+ value={senderName}
187
+ onChange={(e) => setSenderName(e.target.value)}
188
+ />
189
+ <p className="text-xs text-gray-500 mt-1">This name appears in the recipient's inbox</p>
190
+ </div>
191
  <div>
192
  <label className="block text-xs font-medium text-gray-700 mb-1">Sender Email</label>
193
  <div className="w-full border border-gray-200 rounded-lg p-3 bg-gray-50 text-gray-700 font-medium">